【发布时间】:2012-12-27 23:43:25
【问题描述】:
我有两个班级:Teacher 和 Coordinator。 Coordinator 扩展了 Teacher。
基本上我想创建一个实例变量,它可以接收Teacher 实例或Coordinator 实例。
我知道这很容易通过编写Teacher exp = new Teacher() 或Teacher exp = new Coordinator() 来实现,但是当我这样做时,我只能在应用new Coordinator() 或new Teacher() 时访问Teacher 方法和属性参考变量是正常的。我的问题是,是否有另一种方法,我只使用一个可以分配给 Teacher OR Coordinator 对象的实例变量,并使用此变量来调用分配给对象引用变量的对象的任何属性/方法?
【问题讨论】:
-
您确实意识到可以从现有类扩展类。您已经编写的代码将如何预测您尚未扩展的类的方法?反射 API 是唯一健全的机制。其他选项是编写保证指定类所需协议的接口。
-
你怎么知道它是不是
Coordinator?
标签: java class variables reference casting