java的.class和.this是什么?什么是封闭类?为什么只有封闭类才可以使用.this
问题描述:
java的.class和.this是什么?什么是封闭类?为什么只有封闭类才可以使用.this
代码如下:
package com.rainbyte.test;
public class Main
{
public static void main(String[] args) {
Main m = new Main();
m.p();
}
public void p() {
B b = new B();
b.test();
System.out.println(Main.this); //这里的".this"具体是什么意思.为什么只有封闭类才可以用.this
}
}
class A
{
public void whoami() {
System.out.println("I am A");
}
}
class B
{
public void test() {
System.out.println(A.class); //这里的".
}
}
android的Intent.setClass(A.this,B.class);
这里有解释,我看得很糊涂.希望有人能详细说说.
答
你可以这样理解,.this是指当前运行时实例化的这个特定对象,因为只有封装的类才能实例化出对象,所以是有封装类才能使用.this;.class是运行时这个实例化对象的类信息,用于反射