【问题标题】:What is the purpose having final keyword in method parameter? [duplicate]在方法参数中使用 final 关键字的目的是什么? [复制]
【发布时间】:2014-05-11 16:02:45
【问题描述】:

我最近看到了一个类似

的方法
public void display(final String toDisplay){

}

我想知道方法参数中final关键字的用途。

顺便说一句:我已经在 SO 上搜索过了,所以请不要投反对票;我知道它是重复的。 我知道这个问题已经被问过很多次了,相信我经历了所有这些,但没有理解任何答案。请在回答时假设您正在与初学者交谈。

【问题讨论】:

  • 你到底有什么不明白的? bcoz 如果它再次解释,它可能不是你想要的。
  • 我的意思是你再清楚不过了。
  • 这样你就可以拥有一个 Fantasy 类并将其声明为最终幻想
  • @Lokesh 我回答的语言很难理解。

标签: java final


【解决方案1】:

final变量表示你不能改变值。

例如final int x=9;,之后如果你用x=6;更改它,那么它将无法编译。

所以你的情况

public void display(final String toDisplay){

}

在此方法中,您允许 String 参数,然后在该方法中如果您尝试更改,则它将无法编译。

【讨论】:

  • 谢谢,这很简单。
  • 这是什么意思?任何“更改”都将针对本地范围的引用,而不是针对实际对象,因此客户不可能看到任何差异,对吧?
【解决方案2】:

假设您的方法进行了复杂的计算,因此您可能不小心更改了 toDisplay 变量的值,这是我可以说的主要原因。

【讨论】:

  • 非常感谢。我得到你的答案
【解决方案3】:

就是保证实现不会改变引用。

【讨论】:

    【解决方案4】:

    它只是告诉编译器这个方法不能改变参数指向的东西。

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 2017-10-05
      • 2014-12-05
      • 2010-10-04
      • 2013-08-11
      • 2012-02-08
      • 2014-01-14
      • 2013-02-25
      相关资源
      最近更新 更多