Java找不到父类

标签 java inheritance drjava

我有这个类(class),Person:

public class Person{
  String firstname;
  String lastname;

  public Person(String fname, String lname){

  }
  public String toString(){

  }
}

这个子类,学生:

public class Student extends Person{
  Student(){
    super();
  }
  int studentID;
  int level;

  public Student(String fName, String lName, int gLevel){

  }
  public int getLevel(){

  }
  public String toString(){

  }
}

当我在 DrJava 中编译时,出现错误:

cannot find symbol 
symbol  : constructor Person() 
location: class Person

我不确定问题出在哪里。据我了解,使用 super() 构造函数应该可以解决这个问题,并且在代码中甚至没有必要。我的代码与我在网上看到的任何演示 Java 继承的示例相匹配,但我仍然收到此错误。

最佳答案

调用 super(); 假设 Person 类中有一个默认构造函数,但实际上并不存在,因为您有一个非默认构造函数。

您必须或者显式提供默认构造函数:

public Person() { }

super语句中传递两个参数:

super("Firstname", "Lastname");

关于Java找不到父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28698795/

相关文章:

java - 如何设置PDFBox的字符编码

C#:有什么理由不应该声明事件支持字段 protected ?

python - 查看python中所有继承的类

java - DrJava:无法使用 JDK8.0 运行代码

java - 有人可以解释 i+++x 吗?

java - 在无法控制引用类的情况下绕过调度模式的任何方式

java - 从互联网获取数据时保持 UI 响应,替代 Handler postDelayed

java - 为什么不使用 static void main 方法,而是使用非静态方法

php - OOP:您将如何在 OOP 中建立艺术家、专辑和歌曲关系

java - NullPointerException java 声音文件