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

不在同一个外部类的内部类(在同一个类中)中的变量不能用this吗,要怎么用?

前后两个报错:

The public type a must be defined in its own file

No enclosing instance of the type a.innerC.innerD is accessible in scope

像这样:

https://img.mukewang.com/5c3fe4870001f95f07570292.jpg

(代码:不管空格了)

public class a{

public class innerA{

public class innerB{

public void method4(){

System.out.println("a.innerC.innerD.this.var3:"+a.innerC.innerD.this.var3);

}

}

}

public class innerC{

public class innerD{

public int var3=23;

}

}


}


提问者:180416 2019-01-17 10:13

个回答

  • 慕移动9181930
    2022-03-29 03:43:03

    亲,什么意思,是教程写的有问题?

    xecvagfrljcrwhgurczzkyphvvdftgidqtmtnlrtdcjuhmbngkfsovfdmqzdahjvoefnraympfxtuiaiwtsvpwhbamnhiuuogmjpcj

  • 慕娘8574744
    2019-01-17 16:44:23

    public class a {

    public class innerA{

    public class innerB{

    public void method4(){

    System.out.println("a.innerC.innerD.this.var3:"+a.innerC.innerD.var3);

    }

    }

    }

    public class innerC{

    public class innerD{

    public static final  int var3=23;

    }

    }

    }

    第一个问题是你创建类时名字不是这个,新建一个名为a的class文件就行了,第二个问题将var3的前边加 static final 就可以访问了