我有一个关于Java继承的问题.如果我有这个基类
class Parent {
private String lastName;
public Parent() {
lastName = "Unassigned";
}
public String getLastName( ) {
return lastName;
}
public void setLastName(String name) {
lastName = name;
}
}
Run Code Online (Sandbox Code Playgroud)
而这个子类
class Child extend Parent {
private String surName;
public Child(String name) {
surName = name;
}
public void setFullName(String first, String last) {
surName = first;
..... = last;
}
}
Run Code Online (Sandbox Code Playgroud)
我想在子类中创建一个方法,它可以在方法中更改姓氏和姓氏.所以我想知道如何在基类中找到私有成员姓氏.我应该使用继承的setLastName()方法,还是可以在不经过这种方式的情况下访问变量?
我也有问题是否要覆盖baseclass中的setLastName()方法.如何访问基类中的私有成员lastname呢?
Joh*_*ler 11
您无法从继承的类访问私有成员.您可以使它们受到保护或使用setter(在我看来,后者更可取).
您可以在继承的类中覆盖setLastName(),并通过"super"-keyword(super.setLastName("something"))使用基类的setter更改私有成员.