2015-12-13 3 views
0

У меня 3 класса.Вызвать метод дочернего класса в родительском двух уровнях выше?

общественного класса А {}

общественного класса B расширяет {}

общественного класса С простирается B {}

Я экземпляр Л объект, как новый объект C. Я пытаюсь вызвать метод из C, и он не работает. Я думал о создании реферата класса А, но класс B и класс C имеют разные методы, поэтому, если бы я сделал это, у меня были бы пустые методы в B и C. Даже если бы я сделал его абстрактным, методы должны были быть сделаны в B вместо из C, так как я думаю, что это так абстрактно работает.

Так что мой вопрос в том, как я могу вызвать метод из C, если я создам его как объект A?

ответ

1

Вы можете увидеть, если ваш объект является C:

A myobject = // get it ... 

if (myobject instanceof C) 

Тогда отливать:

C really_C= (C) myobject; 

и использовать методы C

+0

Ого я совершенно забыл о кастинге. Я думаю, что это сработает! Благодаря! – User3005

Смежные вопросы