java里面父子关系!  Child 继承 Father 所有的除private 的属性和方法.同时Child覆盖Father里面原有的method 但是Father里面的属性是没有被覆盖的! 所以 ((Father)(this)).wealth还是Father的属性

解决方案 »

  1.   

    super关键字 
    super变量是直接指向父类的构造函数,用来引用父类中的变量和方法。Super的使用有三种情况:
    ● 访问父类被隐藏的成员变量,如:super.fieldname;
    ● 调用父类中被重写的方法,如:super.methodname([参数列表]);
    ● 调用父类的构造函数,如:super([参数列表]);需要注意的是:
    this和super只能用来代表当前对象和当前对象的父对象,而不能像类的其他属性那样随意引用。例如,下面语句中的用法都是错误的: 
    this变量使用在一个成员函数的内部,指向当前对象,也就是本对象。1  super.super.getWealth();     写法是错误的;你没有调试吧!我调试就出错!
      父类的父类本身已经被继承了,只需要实例化调用就可以了;
    2 ,3,参照 this 使用,只能用来代表当前对象的父对象!
         ((STParent)this).getWealth();  这样写 THIS的是自己;
    4 (((STParent)(this)).wealth);  这样写当然是调用他的父类;     
    5 STGrandParent本身就是最高类,他没有继承任何类,this肯定是他了;