Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по объектно-ориентированному программированию..pdf
Скачиваний:
25
Добавлен:
05.02.2023
Размер:
3.39 Mб
Скачать

23

1.7 Определение класса в Java

Класс Student не имеет главного метода main(), поэтому этот класс нельзя запустить на выполнение как программу. Описание класса Student может быть использовано как строительный блок для других программ.

Один из методов обязательно должен называться main, с него начинается выполнение программы. В нашей простейшей программе только один метод, а значит, имя его main (исключение составляют апплеты – у них метода main() нет). Метод main() иногда называют главным методом программы, поскольку во многом именно с этим методом отождествляется сама программа.

Ключевые слова public, static и void перед именем метода main() означают буквально следующее: public – метод доступен вне класса, static – метод статический и для его вызова нет необходимости создавать экземпляр класса (то есть объект), void – метод, который не возвращает результат. Модификаторы и уровни доступа рассмотрим немного позже.

Инструкция String[] args в круглых скобках после имени метода main() означает тип аргумента метода: формальное название аргумента args, и этот аргумент является текстовым массивом (тип String).

Добавим в проект новый класс Main, в котором запишем главный метод.

public class Main {

public static void main(String[] args) {

// s1, s2, s3 – объекты класса Student, т. е. наши тестовые студенты

Student s1 = new Student();

Student s2 = new Student(5);

Student s3 = new Student("Иван",5);

//задаем, устанавливаем через сеттеры оценку s1.setMark(3);

s1.setName("Василий"); //выводим на консоль имя s3

System.out.println(s3.getName());

// выводим на консоль краткое описание студента s1 System.out.println(s1.toString());

}

}

24

При создании нового объекта в первую очередь выполняется вызов конструктора. Происходит инициализация объектов, задаются начальные значения.

Инициализацию объектов можно выполнить тремя способами:

1. Инициализация по ссылке (инициализация объекта означает сохранение данных в объекте).

//Тело класса, содержащее описание полей переменных и методов class Student{

int id; String name;

}

class TestStudent3{

public static void main(String args[]){ //Объявление объектов

Student s1=new Student();

Student s2=new Student(); //Инициализация объектов s1.id=101; s1.name="Петров"; s2.id=102; s2.name="Иванов"; //Вывод значений полей

System.out.println(s1.id+" "+s1.name);

System.out.println(s2.id+" "+s2.name);

}

}

2. Инициализация с помощью метода.

class Student{ int number;

String name;

void insertRecord(int num, String n){ number=num;

name=n;

}

void printInfo(){System.out.println(number+" "+name);}

}

class TestStudent{

public static void main(String args[]){ Student s1=new Student(); //инициализации полей в методе s1.insertRecord(1,"Иванов");

25

s1.printInfo();

}

}

3. Инициализация объектов в конструкторе.

Далее выведем информацию о студентах на консоль (рис. 1.8).

Рис. 1.8 – Результат инициализации объектов в конструкторе

Рассмотрим важное понятие анонимный объект. Анонимный означает безымянный.

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Объект, на который нет ссылки, называется анонимным

объектом.

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

Его можно использовать только во время создания объекта. Если вам нужно использовать объект только один раз, анонимный объект – хороший подход.