问答详情
源自:7-6 Java 中的成员内部类

如果内部类中还有一个内部类,最里面的内部类想访问最外面的类应该怎么办

如果内部类中还有一个内部类,最里面的内部类想访问最外面的类应该怎么办

提问者:qq_Divergent_2 2018-02-19 11:37

个回答

  • 萌萌辣椒
    2018-02-19 20:27:28
    已采纳

    package com.mooc;

    public class lj {

     static int score1 = 86;
        // 定义静态变量score2
               int score2 = 92;
        //内部类
     public class sum {
         
      int a;
      sum(){
       a=99;
      };
      //内部类的内部类
      public class sum1{
       int a1;
       sum1(){
        a1=100;
       };
       public void s1() {
        //调用最外部类
        lj h = new lj();
       
        System.out.println(h.score2);
       }
       
      }
         
     };

     public static void main(String[] args) {
           
            // 调用静态方法sum并接收返回值
      lj h1 = new lj();
      sum h2 = h1.new sum();
      sum.sum1 h3 = h2.new sum1();  //重点  这样
      h3.s1();
     }
    }


  • 慕慕612771
    2019-01-04 16:54:02

    这个地方

    //调用最外部类   

    lj h = new lj();      

     System.out.println(h.score2);  

    //这是在成员方法里实例化对象,虽然可以,但是不规范,而且等于把最外层的类实例化了两次

    //可以改为
        System.out.println(lj.this.score2);

    //不知大家以为如何?