我已经阅读了一些源代码。在util的包中,我看到了'final'关键字的大量用法。例如,PrefUtil.java中有一个方法:
public static void setAttendeeAtVenue(final Context context, final boolean isAtVenue) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
sp.edit().putBoolean(PREF_ATTENDEE_AT_VENUE, isAtVenue).commit();
}
在此方法中,所有参数均由“final”修改。我在其他地方遇到过这样的一些案例。但我不明白'最终'的影响。所以,我在这里寻求帮助以消除我的想法。
答案 0 :(得分:0)
使用final
可确保不会重新分配传递的引用。您可以修改引用指向的对象。因此,您的对象不是 immutable ,它仍然是可变的,但无法重新分配引用。
答案 1 :(得分:0)
final
表示一旦分配了该变量,您就无法更改该变量
对这些方法中的参数使用final
意味着它不允许程序员在执行方法期间更改其值。
答案 2 :(得分:0)
final
on参数将阻止方法内的代码重写它。
重写参数值是不好的做法,因为维护这样的代码非常困难。