Модификатор 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 с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100