Члены классов: поля и методы
Урок 1. Введение в программирование на JAVA
IT1205: Программирование Java SE
Члены классов: поля и методы
В примере 1.1 описан класс CharStack
, изображенный на рис. 1.1. Его цель состоит в том, чтобы продемонстрировать основные черты описания класса в Java, а не в демонстрации эффективной реализации стека.
Описание класса состоит из последовательности объявлений членов класса. В случае класса CharStack
он имеет два поля:
stackArray
, которое является массивом, хранящим элементы стека (в нашем случае символы);topOfStack
, который показывает вершину стека (т. е. индекс последнего символа, сохраненного в массиве).
Класс CharStack
имеет пять методов, которые реализуют важные операции стека:
push()
помещает символ в стек;pop()
удаляет элемент и возвращает верхний элемент стека;peek()
возвращает верхний элемент стека для проверки;isEmpty()
определяет, не пуст ли стек;isFull()
определяет, не полон ли стек.
В описании класса также присутствуют объявления, похожие на объявления методов, но с именем, как у класса, например, в строке (2). Подобные объявления называются конструкторами. Как мы увидим далее, конструктор выполняется, когда создается объект из данного класса. Однако детали реализации примера не важны для настоящего рассмотрения.
// имя файла класса: CharStack.java
public class CharStack { // Имя класса
// Объявления класса:
// (1) Поля:
private char[] stackArray; // Массив, реализующий стек,
private int topOfStack; // Вершина стека.
// (2) Конструктор:
public CharStack(int n){
stackArray = new char[n];
topOfStack = -1;
}
// (3) Методы:
public void push(char element){stackArray[++topOfStack] = element;}
public char pop() { return stackArray[topOfStack--];}
public char peek() { return stackArray[topOfStack]; }
public boolean isEmpty() { return topOfStack < 0; }
public boolean isFull(){
return topOfStack ==stackArray.length – 1;
}
}