最后的内部课程是什么?

Sur*_*ran 8 java inner-classes

将非静态内部类声明为什么意味着什么final

我在google和stackoverflow.com上尝试过很多链接,但是所有这些链接似乎都在处理内部类访问最终成员而不是最终内部类本身.我在谷歌上发现了这个链接,但即使它没有解释它.

Thanx提前!

das*_*ght 5

创建顶级类final和创建内部类之间没有语义差异final:它告诉编译器您不能从类继承.final有时会使用标记类来让编译器跳过虚拟表查找,但这通常被认为是过早的微优化.


小智 0

它与被声明为final的外部类具有相同的语义:该类不能被扩展。

考虑这个例子:

public class MyClass {
  public class A {
  }
  public class B extends A {
  }
}
Run Code Online (Sandbox Code Playgroud)

如果将 Final 修饰符添加到 A 中,则会生成编译错误。