У меня следующая проблема: implicit super constructor is undefined must invoke another constructor java
. У меня есть два класса, один из которых наследует и вызывает супер-метод.
Person-Class:
public class Person {
private String firstName;
private String name;
private Date birthday;
private Gender gender = Gender.Unknown;
Person(String fn, String n, Date d, Gender g){
firstName = fn;
name = n;
birthday = d;
gender = g;
}
Person(Person p){
firstName = p.firstName;
name = p.name;
birthday = new Date(p.birthday);
gender = p.gender;
}
Person(String fn, String n){
firstName = fn;
name = n;
}
И второй класс:
public class Student extends Person implements Noten {
private int nr;
private String st;
Student(int m, String s){
this.nr= m;
this.st= s;
}
Student(Person p) {
super(p);
// TODO Auto-generated constructor stub
}
Почему при расширении на класс Person в классе Student должен быть реализован метод Stundet (Person p) - *? 1014 *
Одно решение: добавить метод Person () в Person-Class
:
Person(){
System.out,println("Hello World"};
Все еще не работает.
Первый вопрос: Почему метод super (p) - не работает?
Второй вопрос: Как мне заставить его работать, даже не добавляя Person()
- без параметров к Person-Class
?
Третий вопрос: Почему не сделал т добавление Person()
- работа?