我可以在构造函数中传递多个 Super 调用吗?

Can I pass multiple Super calls in a constructor?

嗨,我基本上收到一条错误消息,说,

constructor Member in class Member cannot be applied to given types;
required: java.lang.String,java.lang.String; found:java.lang.String;
reason: actual and formal argument lists differ in length 

但我不确定为什么,我想可能是因为我不允许在构造函数中传递多个超级调用?这是正确的吗?

这是我的超级 class,其中包含姓名和电子邮件

public class Member
{
    // The teacher's or Student's name.
    private String name;
    // The teacher's or Student's email;
    private String email;

    /**
     * Constructor for objects of class Member
     */
    public Member(String name,String emailID)
    {
        this.name = name; 
        email = emailID;
    }  

}

这是子class的构造函数,我在尝试编译时遇到错误。

public Student(String name, String emailID)
    {
        super(name);
        super(emailID);
        attendance = 0;
    }

根据我的理解,这应该可以正常工作,但事实并非如此,谁能解释一下为什么这不起作用?

谢谢

无法运行,因为super class需要两个参数,而你只是一个一个地提供,所以第一个构造函数super(name);无法编译,所以会出现这样的错误。所以你应该像这样把它们一起传递:

 super(name, emailID);

编辑:此外,您只能调用一次超级构造函数,而且它应该是第一个调用的。

尝试这样称呼它:

  public Student(String name, String emailID)
    {
    super(name,emailID);
    attendance = 0;
     }