刚刚学习写java,定义了一个父类,两个子类,调用了其中一个子类作算法,结果运行时一直报错,说另一个子类stackoverflow exception,估计是没写super()语句。不知道怎么写它,请大家帮忙告诉我super()的作用,和为什么要用它?

解决方案 »

  1.   

    super就是父母的构造函数,你在子类中加上一个和父类一模一样的构造函数就行了;
      

  2.   

    class aa 
    {
        public int i;
        aa(int i)
        {
          this.i=i;     }
    }public class bb extends aa
    {
       bb(int i)
       {
          super(i);
        }
       
       public static void main(String [] args)
       {
          bb b=new bb(9);
          System.out.println(b.i);
        }}
    }
      

  3.   

    是不是bb类可以继承aa类所有的方法和属性,只要调用aa就好了?
      

  4.   

    aa是构造函数,super()只是继承和父类一样的构造函数
      

  5.   

    super()有两种用法.一种在调用父类的构造.注意的是必需在子类构造中的一行出现.否则会错的.另一种就是,调用被子类所覆盖父类的方法.记忆中就这两种用法,