How to call an non overide method of child class using parent object reference

后端 未结 3 1735
生来不讨喜
生来不讨喜 2021-01-27 10:28

Here is my code want to access child class method of AdapterVer1 getAdaptObj1() (without type casting) using object reference of AdapterVersion (Parent class)

ab         


        
3条回答
  •  庸人自扰
    2021-01-27 11:15

    Rohit already explained it beautifully. Just to add my 2 cents, you should first check the subclass type and then typecast, for instance:

    if(adapter instanceof Adapterver1) {
        ((AdapterVer1)adpater).getAdaptObj1();
    }
    

    This way your code will be safer if it tries to handle a new subclass which doesn't declare such method.

    But the question you must ask, if you already know what subclass method to call, why accessing it from superclass reference?

提交回复
热议问题