У меня есть подкласс, который расширяется от его родительского класса, и у меня возникают проблемы с пониманием того, как я получу доступ к атрибутам объекта из подкласса, которые были унаследованы от родительского класса.
В моем примере явызовите класс Friend
, который наследует name
и phone
от Acquaintance
, но имеет свои собственные переменные birthdate
и address
.После создания я хочу напечатать содержимое объекта Friend
, который включает name
, phone
, birthdate
, address
.
Поскольку я хочу, чтобы все мои переменные были частными,Я подумал, что буду использовать геттеры, но я не уверен, как бы я назвал родительский класс в этом случае.
public class Acquaintance {
private String name;
private String phone;
public Acquaintance(String name, String phone) {
this.name = name;
this.phone = phone;
}
public static String getName() {
return this.name;
}
public String getPhone() {
return this.phone;
}
public void printContact() {
System.out.println("Name: " + this.name + ", Phone: " + this.phone);
}
}
Подкласс:
public class Friend extends Acquaintance {
private String address;
private String birthdate;
public Friend(String name, String phone, String birthdate, String address) {
super(name, phone);
this.address = address;
this.birthdate = birthdate;
}
public void printContact() {
/* This is where I'm having trouble.
I don't know how to access the name,
and phone which are contained in the superclass.
*/
System.out.println("Name: " + "Phone: " + "Birthdate: " + this.birthdate + "Address: " + this.address);
}
}