【发布时间】:2015-02-14 04:50:51
【问题描述】:
我是一名 IT 一年级学生,正在学习 OOP...
我有这个抽象的父类...
public abstract class Person{
private String Name;
protected Person(){
setName("xxxxxxxx");
}
public abstract String getName();
public abstract void setName(String name);
}
这是它的子类...
public class PetOwner extends Person{
private boolean hasKids;
private boolean hasAllergies;
public PetOwner(){
setName("xxxx");
setAllergies(true);
setKids(true);
}
public PetOwner(String name, boolean a, boolean k){
setName(name);
setKids(k);
setAllergies(a);
}
public String getName(){return Name;}
public void setName(String n){ Name = n;}
public boolean getAllergies(){return hasAllergies;}
public void setAllergies(boolean a){hasAllergies = a;}
public boolean getKids(){return hasKids;}
public boolean setKids(boolean k){hasKids = k;}
}
当我编译子类时,会出现“名称”是 Person 的私有变量的错误。
我的问题是如何通过不将其更改为 public 或 protected 来访问子类中父类的私有变量??
【问题讨论】:
-
应该是Internal或者Public,不能访问私有成员