为什么要将函数参数声明为 final?
我目前正在阅读Sams出版的“24小时内自学Android应用程序开发”一书。我对Java,Android或其他方面相对较新。我在ActionScript 3方面有一个非常扎实的背景,它与Java有足够的相似之处,以至于语言本身并不难掌握,但我对书中一些代码示例背后的基本原理仍然有一些疑问。例如,下面是小时 9 的示例代码附带的函数:
private void processScores(final TableLayout scoreTable,
XmlResourceParser scores) throws IOException, XmlPullParserException{
在此函数签名中,作者已将 scoreTable 参数声明为 final。我有点困惑他们为什么这样做。我甚至不会想到尝试为函数参数 scoreTable 分配一个新值(这在 ActionScript 中被认为是一种不好的做法)。此外,我实际上还没有看到任何人在我检查过或移植到AS3中的任何现实世界的Java中执行此操作。
Android开发是否有一些具体的东西使得有时有必要将某些函数参数声明为最终参数?
为什么 TableLayout 对象被声明为 final,而不是 XmlResourceParser?