静态内部类和全局内部类的区别
为什么静态内部类中调用全局变量不可以使用this
而全局内部类中可以使用?
为什么静态内部类中调用全局变量不可以使用this
而全局内部类中可以使用?
2015-07-12
//外部类
public class HelloWorld {
private String name = "爱慕课";
// 外部类中的show方法
public void show() {
// 定义方法内部类
class MInner {
int score = 83;
public int getScore() {
return score + 10;
}
}
// 创建方法内部类的对象
MInner mi = new MInner();
// 调用内部类的方法
int newScore = mi.getScore();
System.out.println("姓名:" + HelloWorld.this.name + "\n加分后的成绩:" + newScore);
}
// 测试方法内部类
public static void main(String[] args) {
// 创建外部类的对象
HelloWorld mo = new HelloWorld();
// 调用外部类的方法
mo.show();
}
}
//!!!!你看System.out.println("姓名:" + HelloWorld.this.name + "\n加分后的成绩:" + newScore);这段代码,在静态中就不能用this
举报