弦乐和决赛


问题内容

以下语句之间有什么区别

String name = "Tiger";

final String name ="Tiger";

尽管String类是finalclass,但是为什么我们需要创建一个字符串“ CONSTANT”变量作为最终变量?


问题答案:

final在这种情况下,该变量name只能分配一次。String再次为其分配不同的对象会导致编译错误。

我认为,造成混淆的原因是该final关键字可以在几种不同的上下文中使用:

  • final class:该类不能被子类化。
  • 最终方法:该方法不能被覆盖。
  • 最终变量:该变量只能分配一次。

有关每种情况的示例,请参见有关Java最终版本的Wikipedia文章。