弦乐和决赛
问题内容:
以下语句之间有什么区别
String name = "Tiger";
final String name ="Tiger";
尽管String
类是final
class,但是为什么我们需要创建一个字符串“ CONSTANT”变量作为最终变量?
问题答案:
final
在这种情况下,该变量name
只能分配一次。String
再次为其分配不同的对象会导致编译错误。
我认为,造成混淆的原因是该final
关键字可以在几种不同的上下文中使用:
- final class:该类不能被子类化。
- 最终方法:该方法不能被覆盖。
- 最终变量:该变量只能分配一次。
有关每种情况的示例,请参见有关Java最终版本的Wikipedia文章。