超级论证是正确还是错误

时间:2014-04-19 07:35:56

标签: java

构造函数可以使用超类构造函数调用来调用直接超类的构造函数吗? (即super(namelist);

2 个答案:

答案 0 :(得分:2)

  

构造函数可以使用超类构造函数调用来调用直接超类的构造函数吗?

是的,它可以。但只是作为(子类)构造函数体的第一个语句。

public class A {
    public A(List<String> namelist) {
    }
    public A() {
    }
}

public class B extends A {
    public B(List<String> namelist) {
       super(namelist);
    }
    public B() {
       // implicitly calls 'super()'
       List<String> namelist = ...;
       super(namelist);  // Syntax error.
    }
}

答案 1 :(得分:0)

是的,您可以从子类调用构造函数。即。

class A
{
 public A()
 {
   System.out.println("Class A");
 }
  public A(String str)
 {
   System.out.println("Class A"+str);
 }
}
class B extends A
{
 public B()
 {
   super("Hello World");
 }
}