2014-04-01 82 views
0

我最近看到喜欢方法参数中有final关键字的用途是什么?

public void display(final String toDisplay){ 

} 

我想知道方法参数final关键字的目的的方法。

答案:我已经在SO上搜索过了,所以请不要低估;我知道它是重复的。 我知道这个问题已被多次询问,并相信我经历了所有这些问题,但不明白任何答案。请在回答时假设您正在与初学者交谈。

+0

你究竟是不明白的? bcoz如果它再次解释,它可能不是你想要的。 – Lokesh

+0

我的意思是你不能得到比这更清楚的。 –

+4

所以你可以有一个幻想课,并宣布它作为最终的幻想 –

回答

4

final变量意味着您无法更改该值。

例如final int x=9;之后,如果您更改它x=6;然后它不会编译。

所以你的情况

public void display(final String toDisplay){ 

} 

在这个方法中你允许String说法,之后该方法中,如果你试图改变,那么它不会编译。

+0

谢谢,这很简单。 –

+0

这是什么意思?任何“更改”都将局限于本地范围的引用,而不是实际的对象,因此客户端不可能看到任何区别,对吧? – kai

1

这是为了确保实现不会更改引用。

0

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

2

假设你的方法做了复杂的计算,所以无意中你可能不会将的值更改为显示变量这是我可以说的主要原因。

+0

非常感谢。我得到你的答案 –

相关问题