Это простое задание.=
является оператором присваивания.
Позволяет очистить нижеследующие пункты.
- В Java, когда объект создан и доступен через.ссылка.Ссылка ссылается на объект.
- В то время, когда одна ссылка может ссылаться только на один объект
- Ссылка типа X может ссылаться на объект типа X или любые подтипы (расширение в случае, если X является классом или реализующимесли X - интерфейс).
Теперь предположим, что есть два класса Super
и Sub
, таких что Sub extends Super
.
SuperClass reference = new SubClass();
Это разрешено, поскольку подкласс наследует от суперкласса.Выше у нас есть объект типа SubClass, созданный в куче, и он доступен через.ссылка с именем reference
Обратите внимание, что ссылка типа SubClass
не может ссылаться на объект SuperClass
.Посмотрим вкратце, почему так?Если бы ссылка типа SubClass
позволяла ссылаться на Объект типа SuperClass
, тогда было бы разрешено вызывать дополнительные методы (функции), определенные SubClass
(SubClass
наследовало бы все методы SuperClass
и также определил бы несколько дополнительных методов).Теперь это привело бы к сбою приложения, поскольку объект SuperClass
имеет только методы, определенные в SuperClass
, но не имеет никаких дополнительных методов, определенных SubClass
.Следовательно, компилятор предотвращает это во время компиляции.Это ошибка времени компиляции, чтобы иметь ссылку типа SubClass
, ссылающуюся на объект типа SuperClass
Теперь давайте посмотрим на код, упомянутый в вопросе
SuperClass a = new SuperClass();
SubClass b = new SubClass();
a = b;
Строка1: У нас есть объект SuperClass, на который ссылается переменная типа SuperClass с именем a
Строка 2: У нас есть объект SubClass, на который ссылается переменная типа SubClass с именем b
Строка 3: у нас есть назначение, где a
назначено для ссылки на тот же объект, на который ссылается b
.Итак, теперь у нас есть обе ссылки, ссылающиеся на объект типа SubClass
, созданный в строке 2. Объект typer SuperClass
, созданный в строке 1 (с текущим доступным кодом, упомянутым в вопросе), не имеет каких-либо ссылок, поэтому он приемлемдля сбора мусора.