Java-объекты, наследование и интерфейс - PullRequest
1 голос
/ 21 марта 2011

В Java, может ли объект иметь несколько разных классов?

Если да, как наследование и интерфейс должны влиять на него?

Ответы [ 2 ]

5 голосов
/ 21 марта 2011

Это не очень корректный вопрос. Любой объект может принадлежать одному и только одному классу (игнорируя необъектные примитивы, такие как int.) С другой стороны, класс может иметь произвольное количество суперклассов, поэтому ваш класс может соответствовать отношению «является» художественного объекта. количество других классов.

В вопросе об интерфейсе все, что приносит интерфейс, - это "контракт" - вы обещаете реализовать определенные методы или иметь определенные свойства. Это несколько похоже на множественное наследование, но на самом деле не множественное наследование. Опять же, реализация интерфейса означает, что у класса есть еще одно свойство "is", но это не значит, что он полностью вводит другие классы.

1 голос
/ 21 марта 2011

Да

class A{}

class B extends A{}

void foo()
{
  B b = ...; // here object b is of type B and A(by inheritance)

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...