Переменные класса и константы
Классы инкапсулируют переменные и методы – члены класса. Переменные класса объявляются в нем следующим образом:
cпецификатор тип имя;
В языке Java могут использоваться статические переменные класса, объявленные один раз для всего класса со спецификатором static и одинаковые для всех экземпляров (объектов) класса, или переменные экземпляра класса, создаваемые для каждого объекта класса. Поля класса объявляются со спецификаторами доступа public, private, protected или по умолчанию без спецификатора. Кроме данных – членов класса, в методах класса используются локальные переменные и параметры методов. В отличие от переменных класса, инкапсулируемых нулевыми элементами, переменные методов не инициализируются по умолчанию.
Переменные со спецификатором final являются константами. Спецификатор final можно использовать для переменной, объявленной в методе, а также для параметра метода.
В следующем примере рассматриваются объявление и инициализация значений полей класса и локальных переменных метода, а также использование параметров метода:
/* пример # 1 : типы атрибутов и переменных: Second.java */
package chapt03;
import java.util.*;
class Second {
private int x; // переменная экземпляра класса
private int y = 71; // переменная экземпляра класса
public final int CURRENT_YEAR = 2007; // константа
protected static int bonus; // переменная класса
static String version = "Java SE 6"; // переменная класса
protected Calendar now;
public int method(int z) { // параметр метода
z++;
int a; // локальная переменная метода
//a++; // ошибка компиляции, значение не задано
a = 4; //инициализация
a++;
now = Calendar.getInstance();//инициализация
return a + x + y + z;
}
}
В рассмотренном примере в качестве переменных экземпляра класса, переменных класса и локальных переменных метода использованы данные базовых типов, не являющиеся ссылками на объекты (кроме String). Данные могут быть ссылками, назначить которым реальные объекты можно с помощью оператора new.
Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.