Я делаю приложение базы данных студентов, которое имеет разные типы студентов, чтобы практиковать наследование и получать вкус других принципов OO.Ошибка сброса Netbeans о суперконструкторе
У меня есть несколько классов, которые наследуются от класса «Студент». Проблема в том, что у меня возникают проблемы с тем, что подклассы имеют перегруженные конструкторы.
Netbeans в порядке с конструктором Student, по-видимому, но он говорит мне в подклассах, что в суперклассе нет подходящего конструктора. Из всего этого я совершенно смущен.
Вот код до сих пор:
class MyDB {
public abstract class Student {
//Variable declaration
//
public String firstName;
public String lastName;
public int studentID;
public float gpa;
public String status;
public String mentor;
//Constructor & overloaded constructors
//
public Student(String fn, String ln, int ID, float sgpa, String stat, String m) {
firstName = fn;
lastName = ln;
studentID = ID;
gpa = sgpa;
status = stat;
mentor = m;
}
public Student(String fn, String ln) {
this(fn, ln, 0, 0, "", "");
}
//Class Methods
//
public abstract float calculateTuition(String status, float numberOfCreditHours);
//Tuition is Calculated
/*
if(status == "resident") {
if(undergraduate) {
if(tuition) {
return numberOfCreditHours * 200;
} else {
return numberOfCreditHours * 250;
}
} else {
return numberOfCreditHours * 300;
}
} else {
if(undergraduate) {
if(tuition) {
return numberOfCreditHours * 400;
} else {
return numberOfCreditHours * 450;
}
} else {
return numberOfCreditHours * 350;
}
}
*/
public abstract void update();
//Database entry is updated
public abstract void add();
//Database entry for student is created
public abstract void delete();
//Database entry for student is deleted
public abstract void query();
//Query to DB is made, then info is returned to the screen
}
public class Undergraduate extends Student {
private String level;
private final String m;
public String getLevel() {
return level;
}
public void setLevel(String newLevel) {
level = newLevel;
}
//Overloaded Constructor
public Undergraduate(String newlevel, String fn, String ln, int ID, float sgpa, String stat, String m) {
}
@Override
public float calculateTuition(String status, float numberOfCreditHours) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void update() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void add() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void delete() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void query() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
public class Graduate extends Student {
private String thesisTitle;
private String thesisAdvisor;
public String getThesisTitle() {
return thesisTitle;
}
public String getThesisAdvisor() {
return thesisAdvisor;
}
public void setThesisTitle(String newThesisTitle) {
thesisTitle = newThesisTitle;
}
public void setThesisAdvisor(String newThesisAdvisor) {
thesisAdvisor = newThesisAdvisor;
}
//Overloaded Constructor
@Override
public float calculateTuition(String status, float numberOfCreditHours) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void update() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void add() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void delete() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void query() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
public class PartTime extends Student {
private String company;
//Name of sponsoring employer
public String getCompany() {
return company;
}
public void setCompany(String newCompany) {
company = newCompany;
}
//Overloaded Constructor
@Override
public float calculateTuition(String status, float numberOfCreditHours) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void update() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void add() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void delete() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void query() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
public static void main(String[] args) {
}
}
пожалуйста игнорируют заявления переопределения. они выглядят беспорядочно, потому что я даю netbeans auto делать все, что он хочет, чтобы избавиться от ошибок.
С этим приложением нужно еще многое сделать, но проблема связана с конструкторами.
Учебники и вопросы, которые я проверил, обычно имеют дело с переопределяющими конструкторами того же класса или подклассами, которые не переопределяют конструкторы.
Ошибки компиляции * напечатаны, * не 'брошены'. Исключения выбрасываются. – EJP