Программирование на Java



         

Объявление полей


Объявление полей начинается с перечисления модификаторов. Возможно применение любого из трех модификаторов доступа, либо никакого вовсе, что означает уровень доступа по умолчанию.

Поле может быть объявлено как final, это означает, что оно инициализируется один раз и больше не будет менять своего значения. Простейший способ работы с final-переменными - инициализация при объявлении:

final double PI=3.1415;

Также допускается инициализация final-полей в конце каждого конструктора класса.

Не обязательно использовать для инициализации константы компиляции, возможно обращение к различным функциям, например:

final long creationTime = System.currentTimeMillis();

Данное поле будет хранить время создания объекта. Существует еще два специальных модификатора - transient и volatile. Они будут рассмотрены в соответствующих лекциях.

После списка модификаторов указывается тип поля. Затем идет перечисление одного или нескольких имен полей с возможными инициализаторами:

int a; int b=3, c=b+5, d; Point p, p1=null, p2=new Point();

Повторяющиеся имена полей запрещены. Указанный идентификатор при объявлении становится простым именем поля. Составное имя формируется из имени класса или имени переменной объектного типа, и простого имени поля. Областью видимости поля является все объявление тела класса.

Запрещается использовать поле в инициализации других полей до его объявления.

int y=x; int x=3;

Однако в остальном поля можно объявлять и ниже их использования:

class Point { int getX() {return x;}

int y=getX(); int x=3;

public static void main (String s[]) { Point p=new Point(); System.out.println(p.x+", "+p.y); } }

Результатом будет:

3, 0

Данный пример корректен, но для понимания его результата необходимо вспомнить, что все поля класса имеют значение по умолчанию:

  • для числовых полей примитивных типов – 0;
  • для булевского типа – false;
  • для ссылочных – null.

Таким образом, при инициализации переменной y был использован результат метода getX(), который вернул значение по умолчанию переменной x, то есть 0. Затем переменная x получила значение 3.




Содержание  Назад  Вперед