如题所述
第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实现方法。
{
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 判断下
当前实现的类是哪个!
当前实现的类是哪个!