小编kio*_*oto的帖子

java匿名内部类无法访问的代码

编写无法访问的代码时,Java编译器会抱怨.例如

public void go()
{
    return;
    System.out.println("unreachable");
}
Run Code Online (Sandbox Code Playgroud)

但是,当您在匿名类中定义一个无法从任何地方访问的新方法时,编译器不会抱怨.它允许你这样做,为什么?例如,

class A
{
   public void go()
   {
     System.out.println("reachable - A");
   }
}
class B
{
   public static void main(String [] args)
   {
     A a = new A() {
              public void go()
              {
                System.out.println("reachable - B");
              }
              public void foo()
              {
                System.out.println("unreachable - B");
              }
           };
     a.go(); // valid
     a.foo(); // invalid, compiler error
  }
}
Run Code Online (Sandbox Code Playgroud)

java inner-classes unreachable-code

2
推荐指数
2
解决办法
884
查看次数

标签 统计

inner-classes ×1

java ×1

unreachable-code ×1