日期:2014-05-20  浏览次数:20771 次

请熟悉java深层语法的朋友进来帮小弟一个忙,在线等待中..........................!
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