Apo*_*sal 1 java variables casting reference class
我有两个班:Teacher和Coordinator.Coordinator延伸Teacher.
基本上我想创建一个可以接受Teacher实例或Coordinator实例的实例变量.
我知道这很容易通过编写Teacher exp = new Teacher()或者Teacher exp = new Coordinator(),但是当我这样做时,我只能Teacher在应用时访问方法和属性new Coordinator()或者new Teacher()正常的引用变量.我的问题是,还有另外一种方法,我只使用一个可以分配给Teacher OR Coordinator对象的实例变量,并使用此变量来调用分配给对象引用变量的对象的任何属性/方法吗?
你可以检查exp是否是一个Coordinator演员然后相应地调用它的函数:
if(exp instanceof Coordinator) {
((Coordinator)exp).foo();
}
Run Code Online (Sandbox Code Playgroud)
如果您想要做几件事,可以在本地范围内创建一个变量并重复使用它:
if(exp instanceof Coordinator) {
Coordinator expCoord = (Coordinator)exp;
expCoord.foo();
expCoord.bar();
expCoord.baz();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3953 次 |
| 最近记录: |