— Привет, Амиго! Билаабо сегодня будет рассказывать о порядке инициализации переменных.
Представь, что ты видишь код. Какие значения получат переменные?
Код
class Cat
{
public int a = 5;
public int b = a + 1;
public int c = a * b;
}
Код
class Cat
{
public int a = getSum();
public int b = getSum() - a;
public int c = getSum() - a - b;
public int getSum()
{
return a + b + c;
}
}
— А разве так можно?
— Конечно. Порядок объявления между методами и полями класса неважен.
Класс загружается сверху вниз, поэтому важно, чтобы поле класса обращалось только к уже загруженным другим полям. В примере поле b может обращаться к a, но ничего не знает о c.
— И что же будет?
— Когда переменные создаются, они получают дефолтовые значения (значения по умолчанию).
Код | Что происходит на самом деле |
---|---|
|
|
|
|
— Ух ты! Оказывается, это так просто. Спасибо Билаабо, ты – настоящий друг!
— Ура! У Билаабо появился друг!
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ