【发布时间】:2014-06-23 10:23:13
【问题描述】:
我想知道什么时候应该对变量和(或)方法使用静态、最终、静态最终参数。据我了解:
- final:使用类似于 c++ 中的 const 参数。这基本上意味着值(或方法中的返回值)不会改变。
- 静态:这意味着值(或方法)没有直接分配给某个对象 - 因此您可以在其他类中使用静态变量(或方法)而无需创建对象
- final static:这种组合是否意味着你有变量(或方法),你可以在不创建对象的情况下访问它(静态)并且你不能改变它的值(就像在c++中的const)(final)李>
如果我是对的,那我什么也得不到。在 IntelliJ IDE 中,当您将方法声明为 public final static 时,它指出应该删除 final,因为已经指出了 static。为什么,如何,何时???
【问题讨论】:
-
我不知道你所说的“改变它的值”对于一个方法是什么意思,但是
final方法是一个不能被覆盖的方法。 -
@ZouZou 我的意思是,例如: final String hello = "Hello";然后在某些方法中,当我们尝试更改
stringhello 值时,我们会收到错误,因为它已被声明为最终值。 -
是的,我说的是你对方法的推理。
-
静态方法不能被覆盖,只能被隐藏/隐藏。 final 是多余的。