книге, которую изучаю, даются такие примеры и объяснение.
Но я не совсем понимаю логику, чем отличается тогда 7 строчка от 8?
Может быть я не до конца понимаю механизм объекта: в куче создаётся объект с типом Dog, а на него ссылается переменная с типом Canine? И почему это имеет значение?
1. Canine canis = new Dog();
2. ✅ Wolf charon = new Canine();
3. ❌ Dog fido = canis;
Переменная canis является ссылкой на объект Dog, но переменная относится к типу Canine, так что присвоить ее Dog нельзя.
4. Hippo bailey = new Hippo();
5. ✅ Animal harvey = bailey;
6. ❌ Hippo brutus = harvey;
____________________________
7. Canine spot = new Dog();
8. Dog spark = new Dog();
Чий Крим?
Стикер
Обсуждают сегодня