Конструктор объекта

Конструктор в классе (объекта)

Что  такое конструктор?

Для начала попытамся решить маленькую задачку

Каждый охотник желает знать…

Создать 7 объектов, чтобы на экран вывелись 7 цветов радуги (ROYGBIV).
Каждый объект при создании выводит на экран определенный цвет.


Требования:
1. Программа должна выводить текст.
2. Нужно создать 7 различных объектов, отвечающих за цвета.
3. Порядок создания объектов должен соответствовать порядку цветов в радуге.
4. Классы отвечающие за цвета изменять нельзя.
5. Выведенный текст должен соответствовать заданию.

 


/* 
Каждый охотник желает знать…
*/

public class Solution {
    public static void main(String[] args) {

КОД


    }

    public static class Red {
        public Red() {
            System.out.println("Red");
        }
    }

    public static class Orange {
        public Orange() {
            System.out.println("Orange");
        }
    }

    public static class Yellow {
        public Yellow() {
            System.out.println("Yellow");
        }
    }

    public static class Green {
        public Green() {
            System.out.println("Green");
        }
    }

    public static class Blue {
        public Blue() {
            System.out.println("Blue");
        }
    }

    public static class Indigo {
        public Indigo() {
            System.out.println("Indigo");
        }
    }

    public static class Violet {
        public Violet() {
            System.out.println("Violet");
        }
    }
}

 

Создаем объект

Red red = new Red();

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

Пробуем написать

Red; - ошибка

red.Red; - ошибка

Но в чем же проблема?

Суть в том, что создав обьект мы автоматически запустили класс Red и конструктор Red.

То есть нам не нужно с помощью оператора доступа . что-то вызывать или писать вообще что-то в коде. Нам достаточно в классе создать конструктор объекта, назвать конструктор аналогично классу и обьеку.

если смы изменим имя конструктора public Red() на public Tred() и попытаемся запустить компилятор, то программа заругается. 

ВАЖНО: конструктор в отличии от метода никогда ничего не возвращает!!!!!!!!!!!!!!!!!!!!!

 

если мы вставим в конструктор void 

    public void Red() {
        System.out.println("Red");
    }
}

то мы уже можем его вызвать с помощью 

red.Red();

Но если есть конструктор то мы можем писать код более емкий! что экономит наше время!

 

ВАЖНО

1. конструктор должен иметь имя аналогично классу, класс - объекту.

2. Класс конструктора обязатеьльно должен быть статическим

3. конструктор ничего не возвражает в отличии от метода.

4. Для чего нужен конструктор?   Для автоматического создания переменных внутри объекта с определенными параметрами ПРИ СОЗДАНИИ САМОГО ОБЪЕКТА. То есть как только создался объект, сразу создаются его данные.

 


Добавить комментарий