日期:2014-05-20 浏览次数:20783 次
//有继承 有重写 父类引用指向子类对象 interface A { public void methodOfA(); }; class B implements A { public void methodOfA() { } public void methodOfB() { } } class C implements A { public void methodOfA() { } public void methodOfC() { } } public class IdentifyBOrC { public static void main(String[] args) { A firstA = new B();// firstA不知道自己是B还是C,只能调用A中的方法 System.out.println(firstA.getClass().getSimpleName());// 直接打印对象对应的类名就知道自己的身份了 A secondA = new C();// secondA不知道自己是B还是C,只能调用A中的方法 System.out.println(secondA.getClass().getSimpleName());//直接打印对象对应的类名就知道自己的身份了 } } /*output: B C */
------解决方案--------------------
http://blog.csdn.net/ssyyll/article/details/3170405