我试图调用超级参数化构造函数,但它会抛出一个错误

时间:2018-05-27 07:23:22

标签: java

我试图从中调用超级参数化的consrtuctor         派生类

 class SC
    {
        SC()
        {
            System.out.println("SC.......DC");
        }
        SC(int x)
        {
            System.out.println("SC........PC");
        }
    }
  class SS
    {
        SS()
        {
            super(10);
            System.out.println("SS.......DC");
        }
        SS(int x)
        {
            this();
            System.out.println("SS........PC");
        }
    }
   public class OpConstructor {

        public static void main(String[] args) {
            // TODO Auto-generated method stub
    SS do1=new SS(10);  }

    }

2 个答案:

答案 0 :(得分:1)

你有

class SS

这意味着SS是顶级课程。它没有超类(除了Object),所以你不要调用超类构造函数。要为其提供超类,请添加extends。例如,让它扩展SC

class SS extends SC

答案 1 :(得分:1)

似乎你错过了SS扩展SC级别。这就是你的课程的样子。

OpConstructor:

public class OpConstructor {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SS do1 = new SS(10);
    }

}

SS和SC课程:

public class SC {
    SC() {
        System.out.println("SC.......DC");
    }

    SC(int x) {
        System.out.println("SC........PC");
    }
}

class SS extends SC {
    SS() {
        super(10);
        System.out.println("SS.......DC");
    }

    SS(int x) {
        this();
        System.out.println("SS........PC");
    }
}