JAVA复习

Posted volition

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA复习相关的知识,希望对你有一定的参考价值。

JAVA复习

访问控制修饰符:

类别 范围 使用对象
default 同一包内可见 类、接口、变量、方法
private 同一类内可见 不能修饰类
public 对所有类可见 类、接口、变量、方法
protected 同一包内和所有子类可见 变量、方法、不能修饰类(外部类)

访问控制和继承:

  • 父类的Public方法在子类中也必须是public
  • 父类中的protected方法在子类中要么为protected,要么为public
  • 父类声明为private方法,不能被继承

技术分享图片

网络编程:

  • 利用socket建立连接的过程:

  • 技术分享图片
  • 连接建立后,通过使用I/O流进行通信,每一个socket有一个输出流和输入流,客户端的输出流连接到服务端的输入流,客户端的输入流连接到服务器端的输出流

  • 例子:

  • // 文件名 GreetingClient.java
    
    import java.net.*;
    import java.io.*;
    
    public class GreetingClient
    {
       public static void main(String [] args)
       {
           //通过命令行来传入服务端的主机名以及端口
          String serverName = args[0];
          int port = Integer.parseInt(args[1]);
          try
          {
             System.out.println("连接到主机:" + serverName + " ,端口号:" + port);
             Socket client = new Socket(serverName, port);
             System.out.println("远程主机地址:" + client.getRemoteSocketAddress());
              //利用输出流,向服务端发送信息
             OutputStream outToServer = client.getOutputStream();
             DataOutputStream out = new DataOutputStream(outToServer);
             out.writeUTF("Hello from " + client.getLocalSocketAddress());
              //利用输入流,从服务端读取信息
             InputStream inFromServer = client.getInputStream();
             DataInputStream in = new DataInputStream(inFromServer);
             System.out.println("服务器响应: " + in.readUTF());
             client.close();
          }catch(IOException e)
          {
             e.printStackTrace();
          }
       }
    }
    
    // 文件名 GreetingServer.java
    
    import java.net.*;
    import java.io.*;
    
    public class GreetingServer extends Thread
    {
       private ServerSocket serverSocket;
    
       public GreetingServer(int port) throws IOException
       {
          serverSocket = new ServerSocket(port);
          serverSocket.setSoTimeout(10000);
       }
    
       public void run()
       {
          while(true)
          {
             try
             {
                System.out.println("等待远程连接,端口号为:" + serverSocket.getLocalPort() + "...");
                Socket server = serverSocket.accept();
                System.out.println("远程主机地址:" + server.getRemoteSocketAddress());
                DataInputStream in = new DataInputStream(server.getInputStream());
                System.out.println(in.readUTF());
                DataOutputStream out = new DataOutputStream(server.getOutputStream());
                out.writeUTF("谢谢连接我:" + server.getLocalSocketAddress() + "\nGoodbye!");
                server.close();
             }catch(SocketTimeoutException s)
             {
                System.out.println("Socket timed out!");
                break;
             }catch(IOException e)
             {
                e.printStackTrace();
                break;
             }
          }
       }
       public static void main(String [] args)
       {
          int port = Integer.parseInt(args[0]);
          try
          {
             Thread t = new GreetingServer(port);
             t.run();
          }catch(IOException e)
          {
             e.printStackTrace();
          }
       }
    }

以上是关于JAVA复习的主要内容,如果未能解决你的问题,请参考以下文章

安卓复习8

安卓复习8

java代码在片段活动中不起作用

java 代码片段【JAVA】

# Java 常用代码片段

# Java 常用代码片段