为了账号安全,请及时绑定邮箱和手机立即绑定

静态内部类和全局内部类的区别

为什么静态内部类中调用全局变量不可以使用this

而全局内部类中可以使用?

正在回答

4 回答

//外部类

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


0 回复 有任何疑惑可以回复我~

你怎么调用的,能看看你的代码吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530559    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

静态内部类和全局内部类的区别

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信