一个接口他有多个实现类。现在引用这个接口,如何确定当前引用的这个接口的实现类是那个???
------解决方案--------------------
接口类 对象 = new 实现类();
想用哪个用哪个啊。。。
------解决方案--------------------
1 既然你使用接口,就是不关系具体的实现类,这才是接口的优势啊!
2 接口使用方,不可能知道会有多少实现了这个接口的类
3 如果你只是想知道类名,那么getClass()可以满足你。
------解决方案--------------------
使用Instance of判断
------解决方案--------------------
- Java code
//通过传入的对象获得类名public String getClassName(Object obj){ return obj.getClass().getName();}
------解决方案--------------------
interface Test{
public void print();//定义方法
}
class A implements Test{
public void print(){
System.out.println("Sub Class A");
}
}
class B implements Test{
public void print(){
System.out.println("Sub Class B");
}
}
public class TestClass{
public static void main(){
Test test = new A();
test.print();//Sub Class A
Test test = new B();
test.print();//Sub Class B
}
------解决方案--------------------