我有一个问题,局部类中的Java(即在方法或所界定块声明类{}).
有没有理由不宣布本地课程为最终?我们不能从本地类继承其他类(如果它没有在同一范围内定义),但是当我们将它声明为final时,编译器可以使代码更简单吗?
谢谢!
人们似乎对匿名课程和本地课程有点困惑.这是一个本地课程:
public void m() {
class MyClass{}
MyClass cl = new MyClass();
}
Run Code Online (Sandbox Code Playgroud)
你可以声明MyClassfinal,但它实际上可以从它继承,因此Java中的任何其他地方都可以声明它是最终的以避免这种情况:
public void m() {
class MyClass{}
MyClass cl = new MyClass();
class MyOtherClass extends MyClass{}
MyOtherClass cl2 = new MyOtherClass();
}
Run Code Online (Sandbox Code Playgroud)
据我所知,匿名课程不被视为最终课程.但是,从语法上讲,没有办法从它们继承,所以它需要一个强大的类文件hack才能这样做.
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |