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

来源:7-7 Java 中的静态内部类

Sz_我用代码堆雪人

2015-07-12 11:12

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

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

写回答 关注

2回答

  • Sz_我用代码堆雪人
    2015-07-15 22:38:27

    //外部类

    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


  • 康振宁
    2015-07-13 15:23:27

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

Java入门第二季 升级版

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

530559 学习 · 6091 问题

查看课程

相似问题