JavaRush/Java блог/Архив info.javarush/Конструкторы и void методы, разница
Indeoo
9 уровень

Конструкторы и void методы, разница

Статья из группы Архив info.javarush
участников
Какая принципиальная разница в назначении конструкторов и void методов? Заранее спасибо за ответ!
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Indeoo
Уровень 9
14 августа 2014, 19:24
Что значи вызывается только автоматом?
Docktor91
Уровень 40
14 августа 2014, 19:39
у экземпляра ты конструктор вызвать не можешь
armid
Уровень 13
14 августа 2014, 17:49
class MyClass {

    private String name;
    private int age;

    public MyClass(String name, int age){
        this.name = name;
        this.age = age;
    }

    public void setAge(String name, int age){
        this.name = name;
        this.age = age;
    }
}


Первый метод — конструктор, второй — аналог конструктора.

Выходит если использовать конструктор, мы не сможем создать объект типа MyClass без передачи name and age.

Если использовать аналог конструктора, то обїект типа MyClass мы сможем создать, а затем можем забыть проинициализровать поля, отдельно вызвав метод setField.
Indeoo
Уровень 9
14 августа 2014, 18:21
А для формирования массива что лучше использовать?
Я почитал, что конструктор используется только для создания новых объектов, выходит массив также через него принято формировать?
Docktor91
Уровень 40
14 августа 2014, 18:32
вы можете поступить как угодно, просто конструктор вызывается только автоматом и только при создании нового экземпляра класса, вы можете перегружать конструкторы, методы, можете создать защиту от не инициализированных данных