现在有两个类 A类和B类
B类继承了A类
A中有一个methodA()方法
B中有一个methodB()方法
执行如下语句
1.A a=new A()
2.B b=new B()
3.a=b
我想请问的是 第3行代码 是将对象b栈中的引用地址 赋值给 a
我在DEBUG中 一开始a对象的地址是A@462 b对象的地址是B@464
执行完 第三句以后 a的地址是B@464
那为什么 a还是指向A的对象 还能a.methodA()??
如果说 我的这个思路走 a已经是指向B类的对象
因为继承关系 能a.methodA()
那为什么不能 a.methoddB()呢
a
已经指向B
对象了,但是因为B
继承自A
, 所以B
也有methodA
.