发布网友 发布时间:2022-04-23 06:39
共1个回答
热心网友 时间:2023-10-05 23:12
谁和你说的内部类不能访问外部类的?
y是属于外部类的成员变量,内部类可以直接访问
内部类可以直接访问外部类中的成员,包括私有的
外部类是不能直接访问内部类的的,需要new 一个内部类的对象追问
原因应该是jdk版本1.8以后系统默认在xy前加final,我把版本降到1.6
报错:Cannot refer to the non-final local variable y defined in an enclosing scope
我定义的是局部内部类,局部内部类就是不能访问没有final修饰的外部类下的的成员变量。正常内部类是可以访问外部类中的成员变量,但是局部内部类和匿名内部类在1.8之前都需要final修饰