@zevilcube

Можно ли в Java сделать объект одного класса объектом другого?

Есть класс:

Class C1 {
 public C1 () {
  // Код конструктора
 }
}


Есть другой класс, наследующий первый:

Class C2 extends C1{
}


И есть метод, находящийся в другой части кода:

public void myMethod (C1 c1object) {
// Код метода
}


По идее, любой объект класса C2 будет так же являться объектом класса C1 (да?), но если попытаться вызвать
myMethod(new C2());
то мы получим ошибку. Можно ли получить объект класса C1 из объекта класса C2 ?
  • Вопрос задан
  • 158 просмотров
Пригласить эксперта
Ответы на вопрос 3
Никакой ошибки нет, все работает.
https://repl.it/@maksimmosieichuk/PromotedMulticol...

Можно ли получить объект класса C1 из объекта класса C2?

Нет нельзя. Можно получить ссылку на объект типа C1 из ссылки на C2. Но при этом объект себя будет вести все равно как C2, коим он и является. Это называется полиморфизм.
Ответ написан
@jkotkot
Делаю дела
можно. ошибки не будет. если у вас есть ошибка, то она в чем-то другом, а не в наследовании.
Ответ написан
Cranberry
@Cranberry
Software Engineer (Java/Spring)
В правильно заданном вопросе уже содержится ответ. Какое исключение выбрасывает компилятор?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы