有个类如下:
public class sJXCFrame {
public sJXCFrame() { }
}
请问这句话中的sJXCFrame.this怎么解释,小弟看不懂!
sJXCFrame.this.getClass().getResource("welcome.jpg")
public class sJXCFrame {
public sJXCFrame() { }
}
请问这句话中的sJXCFrame.this怎么解释,小弟看不懂!
sJXCFrame.this.getClass().getResource("welcome.jpg")
public class sJXCFrame {
public sJXCFrame() {
updateBackImage();
}
} private void updateBackImage() {
if (backLabel != null) {
int backw = frame.getWidth();
int backh = frame.getHeight();
backLabel.setSize(backw, backh);
backLabel.setText("<html><body><image width='" + backw
+ "' height='" + (backh - 110) + "' src="
+ sJXCFrame.this.getClass().getResource("welcome.jpg")
+ "'></img></body></html>");
}
}
和
sJXCFrame.class
等价
class A {
public A this;
}
只要你创建一个A对象,那这个对象就有自己的this
例如如下代码public class OutClass{
public void dosth(){
new Object(){
this.toString();//这个时候的this调用的是new Object()匿名内部类的对象。
//但是要如何调用到OutClass这个类的对象就需要如下方法了。
OutClass.this的方式才能调用到了。
}
}
}
“this关键字是指当前对象的引用,不过这是一种简写,其实完整的写法应该是"包名.类名.this",因为通常用不到前面的完全限定名,所以可以把this之前的省去,但是有种情况例外,那就是匿名内部类存在的时候,你就可能需要this关键字了。”