----------------解决方案--------------------------------------------------------
一般如果需要判断对象实际类型的时候会用到的
如果有个方法是:
public static void test(A a) {
System.out.println(a.getClass());
}
然后你创建2个对象:
A a = new A();
A b = new B();
然后把这2个引用传进去,你就会看到不同的结果
----------------解决方案--------------------------------------------------------
那是你NEW 的对象不一样啊,但是A a = new A();B b = new B();
不是也是不一样的结果,为什么一定要有A b = new B();
这种写法
----------------解决方案--------------------------------------------------------
你把test方法的参数改成类型B,你就知道为什么了
----------------解决方案--------------------------------------------------------
哦,你的意思就是说这样免得写两个test(A a),test(B b)?就这一个原因?
----------------解决方案--------------------------------------------------------
避免代码的繁琐啊
----------------解决方案--------------------------------------------------------
哦,
----------------解决方案--------------------------------------------------------
顶!最好自己试一下,调用里面的方法,看看有何异同
----------------解决方案--------------------------------------------------------