Object
- Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。
Object类是Java中唯一没有父类的类。
Object的方法有11种:
protected Object clone()
此方法创建并返回此对象的一个副本。
bollean equals(Object obj)
判断某个对象是否“等于”这一项。
protected void finalize()
调用此方法在一个对象在垃圾回收时,垃圾回收器确定不存在对该对象的更多引用。
Class <?> getClass()
此方法返回运行时此类对象。
int hashCode()
返回该对象的哈希码值。
void notify()
唤醒正在等待此对象的监视器上的单个线程。
void notifyAll()
唤醒正在等待此对象监视器上的多有线程。
String toString()
返回该对象的字符串表示形式。
void wait()
导致当前线程等待,直到其他线程调用notify()和notifyAll()。
void wait(long timeout)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
void wait(long timeout,int nanos)
在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
上述方法中当 equals()方法重写时,hashcode()方法也必须重写。因为在用equal()前,需用hashcode()进行判断,当hashcode相同时,在进行equals(),所以当equals()被重写后,且原对象equals(新对象)为true,而两者的hashcode却是不一样的,所以也要重写hashcode()方法。
Socket
- 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket。服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了。
Socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
ServerSocket的构造函数:
ServerSocket()throws IOException
ServerSocket(int port)throws IOException
ServerSocket(int port, int backlog)throws IOException
ServerSocket(int port, int backlog, InetAddress bindAddr)throws IOException
Socket的构造函数:
Socket(InetAddress address, int port)throws UnknownHostException, IOException
Socket(InetAddress address, int port, InetAddress localAddress, int localPort)throws IOException
Socket(String host, int port)throws UnknownHostException, IOException
Socket(String host, int port, InetAddress localAddress, int localPort)throws IOException
Socket的方法:
getInetAddress(); 远程服务端的IP地址
getPort(); 远程服务端的端口
getLocalAddress() 本地客户端的IP地址
getLocalPort() 本地客户端的端口
getInputStream(); 获得输入流
getOutStream(); 获得输出流
Socket状态:
isClosed(); //连接是否已关闭,若关闭,返回true;否则返回false
isConnect(); //如果曾经连接过,返回true;否则返回false
isBound(); //如果Socket已经与本地一个端口绑定,返回true;否则返回false
其中还有BufferedReader和BufferedWrite,InputStreamReader和OutputStreamWrite等构造方法。