шпаргалки
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

3.8 KiB

Определение класса

Класс - пользоватльский тип данных (структура и поведение)
Простейшее определение:
class A{}

[спецификатор] class [Name] extends [имя_суперкласса] implements [список_интерфейсов] {
    члены класса - поля / атрибуты класса (данные) --> экземплярные/статические
    спецификаторы / модификаторы доступа
        ------------
        переменные
        методы
        конструкторы
        ------------
        модификатор_доступа спецификатор тип имя = инициализирующее выражение;
}

Определение метода

модификатор_доступа спецификаторы тип_возвращаемого_значения имя_метода (список_формальных_параметров) throws список_исключений {
    //тело метода
}

Определение конструктора

модификатор_доступа имя_конструктора(список_параметров) throws список исключений {
    тело конструктора
}
имя конструктора всегда совпадает с именем класса, пишется с заглавной буквы

Спецификатор доступа

public - глобальная область, видит вся программа
protected - видимость внутри пакета, а также наследникам
private - видимость внутри класса (объект видит поля других объектов этого класса)
default - видимость внутри пакета
local  - видимость внутри фигурных скобок

package - именованная группа пользовательских типов (каталог)
Область видисости класса может быть: public, default

всегда объявляем минимальный необходимый уровень доступа.

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

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

Способы создания экземпляра класса:
* new A(список_аргументов)
* this A(список_аргументов)

При вызове конструктора

- выполняются статические поля  и области класса
- выполняются экземплярные поля класса
- вызывается конструктор родительского класса
- вызывается конструктор класса

Конструктор класса вызывается в последнюю очередь!!!

Перегрузка методов и конструкторов

При перегрузке конструктора ключевыми моментами оказываются:

  • количество параметров
  • типы параметров
  • последовательность параметров

Разные конструкторы:

  • void a(){}
  • void a(A a){}
  • void a(A a, B a){}
  • void a(B a, A a){}

Дублирование кода

  • усложняет проведение изменений
  • увеличивает объем тестирования