@RomKing

Java: почему дефолтный объект самостоятельно присваивается переменной?

Приветствую. Подскажите, пожалуйста, знатоки Java. Ниже приведен пример кода, в котором мне не понятно присвоение переменной свойств объекта, а именно почему объект работает как должно при том, что в переменнойcar мы адрес этого объекта не прописывали?
public class Human {
    String name;
    Car3 car;
    BankAccount1 bA;


void info () {
System.out.println(car.color);
    }
}

class Car3 {
    Car3(String c, String e) {
    color=c;
    engine=e;
}
    
    String color;
    String engine;
}
  • Вопрос задан
  • 337 просмотров
Решения вопроса 1
У вас код плохо отформатирвоан, по тому и не очевидно:
public class Human {
    String name; // по-умолчанию все поля null
    Car3 car;


    void info() {
        // Компилятор ничего не знает о значении полей.
        // Он только знает, что есть поле car типа Car3
        // По тому он и позволяет его писать
        System.out.println(car.color);
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы