繁体   English   中英

Java的最终课程和潜在后果

[英]A final class and underlying consequences in Java

我在某处听到了这条线,我无法摆脱它:

“最终班的所有成员都是隐式最终的。”

现在,我非常了解这三个著名的概念:

  1. final课程无法扩展。
  2. 初始化后,不能用新值重新分配final变量。
  3. final方法不能被覆盖。

但是,如果最终类的所有成员(变量,方法)都是隐式最终的,则我们将在其中拥有一个最终类,最终变量和最终方法。

那么, StringBuilder尽管最终是如何允许其内容更改的呢?

该断言过于简单,因此是错误的。 一个只有方法的 final类可以被视为隐含final 但是,此事实与其含义无关,因为由于没有任何子类,因此无法覆盖final类的方法。 它们是隐式还是显式的final与否并不重要。

一堂课可以是最后的,但是可变的。

类为final只是意味着不能有子类,但是对于类的行为则什么也没有说。

相反,字段和方法可以是final(实例是不可变的 ),但类不是final。

班级与班级成员的最终决定无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM