java 多个类实现接口 如何判断接口执行的哪个实现

如题所述

第1个回答  2016-12-24
public class Car
{
Carinterface a,b,c;

void set(Car1 a,Car2 b,Car3 c,)
{
this.a=(Carinterface)a; //做类型转换,说是强转也可以
this.b=(Carinterface)b;
this.c=(Carinterface)c;
}

void getPrice()
{
System.out.println(a.getPrice()); //输出Car1类的实现
System.out.println(b.getPrice()); //输出Car2类的实现
System.out.println(c.getPrice()); //输出Car3类的实现
}
}

//因为a,b,c是Carinterface类型的。
但是传入的是Car1,Car2,Car3类型的,会被自动转换为Carinterface类型
通过接口函数调用的时候,虽然都是Carinterface类型
但是会自动调用到Car1,Car2,Car3类型的个子的 getPrice实现方法。
第2个回答  2014-04-10
用instance of 可以,不过如果你做了抽象,回头又要判断类型,本身是一种坏味道,意味着抽象得不合理,应当审视一下设计本回答被提问者和网友采纳
第3个回答  2014-04-10
instanceof 判断。
第4个回答  2014-04-10
可以通过instanceof 判断下

当前实现的类是哪个!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网