Предположим, что мы имеем следующее определение.Метод Java Instanceof Confusion
interface Vessel{}
interface Toy{}
class Boat implements Vessel{}
class Speedboat extends Boat implements Toy{}
В основном, мы имеем следующие:
Boat b = new Speedboat();
и (b instanceof Toy)
оценивает быть true
? Зачем? Я понимаю, что ссылочный тип b
равен Boat
, но Boat
не имеет отношения к Toy
, поэтому он должен быть false
, но ответ true
.
Вы должны прочитать [Какая разница между переменной, объектом и ссылками?] (Http://stackoverflow.com/questions/32010172/what-is-the-difference-between-a -переменный-объект-и-ссылка). –