Я создал новый класс "Lecturer", который расширяет другой класс "Person", я хотел сделать 2 конструктора для Lecturer, и один мог бы принять имя и стипендию (просто константу, чтобы сказать, сколько платят), другойпросто принимает имя и использует стипендию по умолчанию, установленную в коде.я включил соответствующие геттеры и сеттеры.Затем я написал метод writeOutput для печати вывода, подобного этому
Имя: (имя), которое получает имя и печатает его Стипенд: (Стипенд) тот же процесс ^
вот что у меня такдалеко
Lecturer.java
public class Lecturer extends Person{
private static String name;
static double stipend;
public Lecturer(String name) {
super(name);
}
public Lecturer(String name, double stipend) {
super(name);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getStipend() {
return stipend;
}
public void setStipend(double stipend) {
this.stipend = stipend;
}
public static void writeOutput() {
System.out.println("Name: " + name);
System.out.println("Stipend: " + stipend);
}
}
Person.java
public class Person {
/** Every Person has a name */
private String name;
/** Person requires a name */
public Person(String n) {
this.name = n;
}
/** return this Person's name */
public String getName() {
return this.name;
}
/** Change this Person's name */
public void setName(String nn) {
this.name = nn;
}
Основной файл (Inheritance.java)
Строки 41-53
Lecturer l1 = new Lecturer("Zachary");
Lecturer l2 = new Lecturer("Wilhelmina", 11017.00);
l1.writeOutput();
l2.writeOutput();
pause();
l1.setName("Zack");
l1.setStipend(10800.00);
l1.writeOutput();
pause();
System.out.printf("%s's stipend is $%,4.2f.\n",
l1.getName(), l1.getStipend());
System.out.printf("%s's stipend is $%,4.2f.\n",
l2.getName(), l2.getStipend());
Это вывод
Name: null
Stipend: 0.0
Name: null
Stipend: 0.0
press enter...
Name: Zack
Stipend: 10800.0
2-я часть работает как надо, но первая - нет, и я попытался изменить код, но ничего не работает должным образом.