0

为什么绝大多数android示例在findViewById(id)等方法中将返回变量声明为final?例如:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_list_enc_disp);

    final ListView listViewEncDisp = (ListView) findViewById(R.id.listViewEncDisp);
    listViewEncDisp.setOnItemClickListener(this);
}

我知道不能再次分配最终变量,但是不明白为什么需要这个好习惯。提前致谢

4

2 回答 2

1

盲目地添加final所有变量不是一个好习惯。尽可能将字段标记为最终字段是公认的惯例。使参数和变量总是最终的更主观。我个人避免它,因为它只会增加混乱。另请注意,将变量设为 final 对运行时没有影响,在大多数情况下,它纯粹是编译时间限制。

于 2013-02-07T20:48:40.333 回答
-1

如果您不想更改对象,则应将其声明为final,这是避免编译时出现随机错误的好习惯。

例如,您可以尝试在代码的其他位置分配另一个值,只是因为您忘记了以前做过,然后您可能会花费几分钟,有时甚至是几个小时来寻找错误。

于 2013-02-07T20:50:22.970 回答