В настоящее время я работаю над книгой "Teach Yourself Android Application Development за 24 часа", опубликованной Sams. Я относительно не знаком с Java, Android или другим. У меня очень хороший фон в ActionScript 3, который имеет достаточно сходство с Java, что сам язык не трудно понять, но у меня все еще есть некоторые вопросы об обосновании некоторых примеров кода в книге. Например, здесь функция, которая поставляется с образцом кода для Часа 9:
private void processScores(final TableLayout scoreTable,
XmlResourceParser scores) throws IOException, XmlPullParserException{
В этой сигнатуре функции авторы объявили аргумент scoreTable окончательным. Я немного озадачен, почему они это сделали. Мне не пришлось бы даже пытаться назначить новое значение аргументу функции scoreTable (он считался плохой практикой в ActionScript). Кроме того, я на самом деле не видел, чтобы кто-либо делал это в любой реальной Java-среде, которую я изучил или портировал в AS3.
Есть ли что-то особенное в разработке Android, что делает необходимым иногда объявлять определенные аргументы функции как окончательные?
Почему объект TableLayout объявлен окончательным, но не XmlResourceParser?