本帖最后由 pangcheinug 于 2011-05-22 00:30:23 编辑

解决方案 »

  1.   

    这样就是不行的~~~你这个也不叫重载
    子类重写父类的方法叫重写,
    重写的要求是:
    重写(Override)
        重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写!
      

  2.   

    两种办法:class cNode<T>{
      T data;
      cNode Lchild,Rchild;  public T getData(){
    return data;
      }
      public void setData(T data){
    this.data = data;
      }
    }public class testNode{
    public static void main(String arg[]){
    cNode<Integer> a = new cNode<Integer>();
    a.setData(8888);
    System.out.println(a.getData());
    cNode<String> b = new cNode<String>();
    b.setData("华夏英魂");
    System.out.println(b.getData());
    }
    }class cNode{
      Object data;
      cNode Lchild,Rchild;  public Object getData(){
    return data;
      }
      public void setData(Object data){
    this.data = data;
      }
    }
    public class testNode{
    public static void main(String arg[]){
    cNode a = new cNode();
    a.setData(8888);
    System.out.println(a.getData());
    cNode b = new cNode();
    b.setData("华夏英魂");
    System.out.println(b.getData());
    }
    }
      

  3.   

    继承父类、成员方法名有重复、有那么麻烦吗?
    直接改名、你这是犯了语法错误,java从不会教你子类和父类有同名的方法且非重载、
      

  4.   

    子类重写父类方法,必须保证方法的参数列表相同(类型,个数,顺序),返回值类型可以是父类方法的子类。
    方法重载知识根据参数列表,不包括返回值。要实现你说的功能,就像1L说的,需要用泛型class BiNode<T extends BiNode, K>{  //T extends BiNode限定T的类型边界
    private K data;
    private T Lchild,Rchild; public K getData(){
    return data;
    }
    }class AvlNode<T extends AvlNode, K> extends BiNode<T, K>{
    //这里AvlNode继承了BiNode的属性, Lchild, Rchlid和data
    //Lchild, Rchlid是AvlNode类型的
    private int BalanceFactor; //这里可以添加AvlNode自己的属性,例如节点的平衡因子
    }
      

  5.   

    好好研究重载(overload)重写(override)一下。
    注意,有些中文书是这样的译的:overload(过载);override(重载).
      

  6.   

        你这种想法我也有过,但是java对重写方法的返回值和参数列表都有严格规定。
        如果你确实想能在测试类中能同时调用父类、子类中的getDate()。那就吧getDate()定义为静态,子类的也定义为静态(这时,子类的getDate()会将父类的getDate()隐藏,而不是重写,静态方法时不能重写的)
        静态方法时属于类的,可以直接通过类类调用它。或者创建一个引用,指向哪都行,只要引用是父类的,就能调用父类的getDate();引用是子类的,就能调用子类的getDate()