Модификатор final
Модификатор final используется для определения констант в качестве члена класса, локальной переменной или параметра метода. Методы, объявленные как final, нельзя замещать в подклассах, для классов – создавать подклассы. Например:
/* пример # 5 : final-поля и методы: Rector.java: ProRector.java */
package chapt03;
public class Rector {
// инициализированная константа
final int ID = (int)(Math.random()*10);
// неинициализированная константа
final String NAME_RECTOR;
public Rector() {
// инициализация в конструкторе
NAME_RECTOR = "Старый";// только один раз!!!
}
// {NAME_RECTOR = "Новый";} // только один раз!!!
public final void jobRector() {
// реализация
// ID = 100; //ошибка!
}
public boolean checkRights(final int num) {
// id = 1; //ошибка!
final int CODE = 72173394;
if (CODE == num) return true;
else return false;
}
public static void main(String[] args) {
System.out.println(new Rector().ID);
}
}
package chapt03;
public class ProRector extends Rector {
// public void jobRector(){} //запрещено!
}
Константа может быть объявлена как поле класса, но не проинициализирована. В этом случае она должна быть проинициализирована в логическом блоке класса, заключенном в {}, или конструкторе, но только в одном из указанных мест. Значение по умолчанию константа получить не может в отличие от переменных класса. Константы могут быть объявлены в методах как локальные или как параметры метода. В обоих случаях значения таких констант изменять нельзя.
Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.