Java中 内部类定义在局部时 是不是可以直接访问局部成员

发布网友 发布时间:2022-04-23 06:39

我来回答

3个回答

热心网友 时间:2022-06-16 18:54

public class Outer {
 int x=3;
 void show(){
  int y=4; 
  class Inner{
   void function(){
    // 报错 内部类定义在局部 不能访问局部变量 除非 这个成员用final 
    //,x则不报错
     System.out.println(y);
   }
  }
  new Inner().function(); // 外部类访问内部类 必须建立内部类对象
 }
  public static void main(String args[]){
  
  new Outer().show();
 }
}

追问嗯 我问一下 我在Eclipse运行这个代码 它会报错 而我在EditPlus中运行这个代码 他却能够走起来 运行结果就是我截的那个图 你能告诉我原因不?

热心网友 时间:2022-06-16 18:55

jdk1.7内部类定义在局部时,不可以访问它所在的局部中的变量,只能访问被final修饰的局部变量,但是jdk1.8可以。

热心网友 时间:2022-06-16 18:55

这就是内部类之间的访问了!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com