Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3-й семестр / Лекции / 2 - Презентация.pptx
Скачиваний:
59
Добавлен:
25.12.2020
Размер:
2.24 Mб
Скачать

Центр дистанционного

обучения

Модификатор final

Мы используем модификатор final, например чтобы определить константы

Три вида применения модификатора final

online.mirea

.ru

Центр дистанционного

обучения

Конструкторы

Конструкторы в Java очень похожи конструкторы в С++

Вы можете перегружать конструкторы(так же как и

другие любые методы класса)

Конструктор который не берет параметров называется пустым конструктором

Вы можете не иметь конструктора вовсе, в этом случае используется конструктор по умолчанию, как пустой конструктор

Конструктор может вызывать другой конструктор

того же самого класса, используя служебное словоthis

– Вызов другого конструктора можно сделать только только как первую инструкцию вызова конструктора

online.mirea

.ru

Центр дистанционного

обучения

Конструкторы

public class Circle {

…..//поля класса, геттеры и сеттеры public Circle(){

radius = 0; color = "";

}

public Circle( int r, String c){ radius = r;

color = c;

}

public Circle (int r) { radius = r;

}

}

…...

13

online.mirea

.ru

Центр дистанционного

обучения

Создание объектов

Обычно мы используем new oператор, чтобы создать объект

Circle c1 = new Circle (10,”green”);

Такая запись вызывает конструктор Circle () c параметрами который является специальным методом, который создает и инициализирует объект

Создание объектов называется инстанцированием

Любой объект - экземпляр типа класс (instance of class)

-

3-14

 

online.mirea

 

.ru

Центр дистанционного

обучения

Конструкторы класса Circle

• Пример ниже показывает как можно создать три объекта типа класс Circle c помощью конструкторов

Circle c1 = new Circle(); Circle c2 = new Circle(2.0);

Circle c3 = new Circle(3.0, "red");

online.mirea

.ru

Центр дистанционного

обучения

Создание объектов через вызов

Circleконструктораc1, c2, c3; //объявили три переменных типа круг

// сконструировать экземпляр объекта типа класс и разместить его в памяти можно только через оператор new

c1 = new Circle(); /*создали с помощью вызова конструктора объект круг в памяти и инициализировали перменную с1 ссылкой на созданный объект*/

c2 = new Circle(2.0); // используем второй конструктор

c3 = new Circle(3.0, "red"); //третий конструктор //можно совместить объявление и создание объектов

Circle c4 = new Circle();

online.mirea

.ru

Центр дистанционного

обучения

Вызов методов класса

Мы видели, объект это экземпляр класса, и мы можем использовать оператор точка, чтобы вызывать его методы

String count; count = title.length()

Метод может возвращать значение, которое можно использовать для присваивания значения в выражении

3-17online.mirea

.ru

Центр дистанционного

обучения

Конструктор

Пример 1: ы

public class Person {

String name = ""; // поля можно инициализировать!

Date birthDate = new Date();

public Person() {} // пустой конструктор

public Person(String name, Date birthDate) {

this(name); // первый параметер

this.birthDate = birthDate;

}

public Person(String name) { this.name = name;

}

}

18

online.mirea

.ru

 

Центр дистанционного

Ссылка this обучения

Ссылка this ссылка позволяет объекту ссылаться на себя

Так как ссылка this, используется внутри метода, относится к объекту, через который метод на стадии выполнения

Предположим,this используется в методе, названном tryMe, который вызывается следующим образом:

obj1.tryMe();

obj2.tryMe();

В первом вызове, то эта ссылка относится к obj, а во втором она относится к obj2

6-19online.mirea

.ru

Центр дистанционного

обучения

Ссылка this

ссылка this может использоваться, чтобы отличить переменные экземпляра класса из соответствующих параметров метода с одинаковыми именами

Конструктор класса Circle( (из пред. прим.) можно было бы записать следующим образом:

public Circle( int radius, String color){ this.radius = radius;

this.color = color;

}

6-20online.mirea

.ru

Соседние файлы в папке Лекции