java - 找不到 super 语句的符号

标签 java inheritance polymorphism symbols super

这是一段带有继承和多态方法的java代码。

学生类

public abstract class Student
{
    protected long id;
    protected String name;
    protected String programCode;
    protected int part;

    public Student(){
        id=0;
        name=" ";
        programCode=" ";
        part=0;
    }

    public void setStudent(long i,String nm,String code,int pt){
        id=i;
        name=nm;
        programCode=code;
        part=pt;
    }

    public long getId()            {return id;}    
    public String getName()        {return name;}    
    public String getProgramCode() {return programCode;}    
    public int getPart()           {return part;}    
    public abstract double calculateFees();

    public String toString(){
       return ("ID: "+id+"\nName: "+name+"\nProgram Code: "+programCode+"\nPart: "+part);}
    }

全日制学生类

public class FullTimeStudent extends Student{
    protected String collegeName;
    protected String roomNumber;

public FullTimeStudent(){
    super();
    collegeName=" ";
    roomNumber=" ";
}    
public FullTimeStudent(long i,String nm,String code,int pt,
                              String collegeNm,String roomNum){
    super(i,nm,code,pt); //can't find symbol here
    collegeName=collegeNm;
    roomNumber=roomNum;
}    
public void setFullTimeStudent(String collegeNm,String roomNum){
    collegeName=collegeNm;
    roomNumber=roomNum;
}    
public String getCollegeName()   {return collegeName;}
public String getRoomNumber()    {return roomNumber;}

public double calculateFees(){
    double fee=0, collegefee=0, totalfee=0;

    if(programCode.equals("BIT")){
       fee=2000;
    }
    else if(programCode.equals("BCHE")){
       fee=2300;
    }
    else if(programCode.equals("BPHY")){
       fee=3200;
    } 
    else if(programCode.equals("BBIO"))
       fee=2700;
    } 

    if(collegeName.equals("Jati")){
       collegefee=200;
    }
    else if(collegeName.equals("Cengal")){
       collegefee=350;
    }
    else if(collegeName.equals("Dahlis")){
       collegefee=420;

       totalfee=fee+collegefee;
       return totalfee;
    }

public String toString(){
     return super.toString()+"\nCollege Name: "+collegeName+"\nRoom Number"+roomNumber;
}

}

FullTimeStudent中好像找不到super语句的符号 类。

super(i,nm,code,pt); 

最佳答案

由于错误试图告诉您,您的父类(super class)没有任何采用参数的构造函数。

关于java - 找不到 super 语句的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18559002/

相关文章:

ruby-on-rails - Rails 中的双多态关联

java - Toolkit 返回对专有 Sun API 的引用?

java.lang.NoClassDefFoundError : javafxports. android.FXDalvikEntity$2

C++ 和抽象类中的继承

java - 在参数中使用泛型集合

c++ - 如何从指向多态基类的指针复制/创建派生类实例?

java - 避免嵌套 If Else/Switch - Java

java - 使用 mongoTemplate 进行分页

java - 调用系统文本编辑器

java - 访问集合中特定于 "type"类的方法