问答详情
源自:7-7 Java 中的静态内部类

静态内部类变量和外部类非静态变量重名怎么办

public class HelloWorld {

    private int num = 90;

    // 外部类中的静态变量score

    private static int score = 84;

    

    // 创建静态内部类

public static class SInner {

        // 内部类中的变量score

        int score = 91;

        int num = 88;   

public void show() {

   System.out.println(num)

   System.out.println(new HelloWorld().num);

System.out.println("访问外部类中的score:" +           HelloWorld.score);

System.out.println("访问内部类中的score:" + score);

}

}


提问者:慕粉4193678 2017-05-05 09:35

个回答

  • qq_朝南楚香_0
    2017-05-05 10:06:21
    已采纳

    你这个代码没写main函数,而且静态内部类的方法中第一个输出语句后面没分号,还有就是你的 少了个“}”

  • 比遗忘的人
    2017-05-05 13:48:36

    你可以去查询一下this 的用法,这样对内外部类有用

  • qq_朝南楚香_0
    2017-05-05 10:00:09

    因为外部类是非静态变量,直接用   new 外部类名().外部类非静态变量名    的方式引用

    如果外部类是静态变量(同名)  用  类名.静态变量名  的方式引用