Помогите понять эту форму с "Cat cat = new cat" и тд. Что здесь что? Вообще не въезжаю.
George Nayfonov
4 уровень
Не понимаю
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений
26 ноября 2019, 22:57полезный
Объявляем объект cat (может быть любое слово). Это объект типа Cat (должен быть класс с именем Cat). По аналогии, как мы создаем переменную i типа int:
Теперь справа от равно:
new означает, что мы создаем новый объект.
Дальше должно идти не cat, а Cat().
Так вызываются специальные методы, которые создают объект. Это конструкторы. Они всегда называются как класс, а затем идут скобки. В скобках могут быть некие параметры, чтобы объект создался с учетом этих параметров. А могут и не быть, смотря какой конструктор. Но скобки нужны в любом случае, хоть и пустые.
Получается, мы объявили объект cat типа Cat. И тут же его создали, воспользовавшись конструктором Cat().
Именно сначала объявили. А затем создали (выделили память, заполнили конструктором некие значения и т.д.)
Можно было просто объявить, но не создавать. И тогда болтался бы у нас сферический конь в вакууме, с которым ничего нельзя сделать кроме как создать его экземпляр.
Если что - спрашивайте более конкретно, постараюсь разжевать. +1
George Nayfonov
27 ноября 2019, 15:53
Спасибо! Думаю, более менее понял)
0