关键字this用于指代当前正在访问这段代码对象。因此,类内部可以使用this作为前缀引用实例成员;
this()代表了调用另一个构造函数,至于调用哪个构造函数根据参数表确定。this()调用只能出现在构造函数的第一行。
当在内部类中使用关键字this,指的就是内部类的对象,为了访问外层类对象,就可以使用外层类名.this来访问,一般也只在这种情况下使用这种。
示例:
public class MyClass extends Thread {
private final UDPService udpservice;
public MyClass() {
this.udpservice = new UDPService();
this.udpservice.addEventListener(new DataRecvListener() {
@Override
public void fireDataRecv(final InetAddress addr, final int port, final byte[] data) {
(new Thread(new Runnable() {
@Override
public void run() {
MyClass.this.resolveData(addr, port, data);// 注意:MyClass.this
}
})).start();
}
});
}
public synchronized void resolveData(InetAddress addr, int port, byte[] datas) {
// 。。。
}
}