上转型对象的问题(见扫描)
代码见下: 
 http://www.i2i.org.cn/webexhibit/09251.jpg 
 http://www.i2i.org.cn/webexhibit/09252.jpg 
 http://www.i2i.org.cn/webexhibit/09253.jpg 
 这三页书是讲上转型对象的。 
 其中有一个例子。又看不懂。 
 a=new   B();      //   创建了一个B的对象。a是子类对象的上转型变量 
 a.n=0.618; 
 a.m=200; 
 a.f()   ;      //输出的是n=0.618   m=200 
 a.g();      //输出的是n=12   m=200,这里不解,n不是被被a.n=618;改过了吗?怎么等于12了,它是什么时候等于12的? 
------解决方案--------------------我的理解是B类里的n属性把A类里的n属性本来就覆盖掉了,你A类里再怎么改n的属性都影响不了B类中的n属性,m的属性是继承来的,所以修改会影响,如果你一定要输出A的n属性(就是A的g()方法),就用A a=new A();a.g();
------解决方案--------------------a=new B(); // 创建了一个B的对象。a是子类对象的上转型变量 
 这时如果B覆盖过被调用方法,是会调用子类的方法 
 其次当调用子类方法的时候,先会在子类中找与要用到的变量同名的成员变量,如果没找到,就去 
 父类继续找 
 如果B没有覆盖该方法,则调用A里定义的,找变量也从A开始找