第一个问题,可以这么理解:Class
因此:Class
对比:String str = "this is a string";
可以看出Class
第二个问题:Aclass.this其实就是this,不过语法更强,一般用不上,但在某些场合需要强指定this的语义的时候就非用不可。比如在类嵌套的时候。
下面就是这样一个例子:Aclass 内部又有个嵌套类定义 Bclass,当在Bclass::funB方法中使用想使用Aclass的方法时,就需要强指定Aclass.this。所以 funB()中的this实际指向的是Bclass的实例,而Aclass.this实际指到了Aclass的实例。具体代码如下
public class Aclass {
class Bclass{
public void test(){
System.out.println("fun in b");
}
public void funB(){
Aclass.this.test(); // 输出:fun in a
this.test(); // 输出:fun in b
}
}
public void funA(){
Bclass b = new Bclass();
b.funB();
}
public void test(){
System.out.println("fun in a");
}
public static void main(String[] args) {
Aclass a = new Aclass();
a.funA();
}
}
Class
class () 是确定的类型,即 class a(),则类型就为a