class A
{
String name= "张三 ";
int age=30;
void qq()
{
System.out.println( "第一次 ");
}
public static void main(String args[])
{
A x=new B();
System.out.println(x.name);
x.qq();
}
}
class B extends A
{
int age=20;
void qq()
{
System.out.println( "第二次 ");
}
}
请问一下,上面申请了一个A类的引用X指向B类的实例,为什么x.name是访问A类的成员变量,而x.qq()是访问B类的成员方法.我是这么认为的,引用X要么都访问A类的成员变量,和成员方法,要么都访问B类的成员变量和成员方法,怎么交叉访问了,请问一下,有什么规律吗?
请大家给我说一下它的运行机制好吗?谢谢.
------解决方案--------------------
楼上这几段代码,用我刚写的这个Java对象模型完全可以解释清楚。
不明白的请看:
http://bbs.chinaunix.net/viewthread.php?tid=965826&extra=page%3D1