Я предоставлю код и выходные данные, предоставленные компилятором для лучшего понимания проблемы. Вы увидите нулевое значение для регистрационного номера ... есть проблема.
На выходе вы заметите, что я получаю нулевое значение для регистрационного номера ... я не получаю его, потому что все это казалось правильным, пока его не было. wasn't
public class Student {
private String regNo;
//Student student = new Test();
public String getRegNo() {
return regNo;
}
public void setRegNo(String number) {
this.regNo = regNo;
}
public void displayRegistrationNumber(){
System.out.println("Registration number: "+ getRegNo());
}
}
-----------------------------------------------------------------'
public class Test extends Student{
private double sub1, sub2;
public double getSub1() {
return sub1;
}
public void setSub1(double sub1) {
this.sub1 = sub1;
}
public double getSub2() {
return sub2;
}
public void setSub2(double sub2) {
this.sub2 = sub2;
}
public void displayScore(){
System.out.printf("Scores: Subject1 = %.0f, Subject2 = %.0f \n",getSub1(), getSub2());
}
}
-----------------------------------------------------------------------
public class Results extends Test {
private double total;
public double getTotal() {
return total;
}
public void setTotal(double total) {
this.total = total;
}
public void displayTotalScores(){
setTotal(getSub1()+getSub2());
System.out.printf("Total marks: %.0f \n", getTotal());
}
}
---------------------------------------------------------------------
public class Main_method {
public static void main(String[] args){
Results results = new Results();
results.setRegNo("2017-04-06859");
results.setSub1(75.47);
results.setSub2(89);
results.displayRegistrationNumber();
results.displayScore();
results.displayTotalScores();
}
}
Вот вывод. Обратите внимание на ноль
Registration number: null
Scores: Subject1 = 75, Subject2 = 89
Total marks: 164 `