我对此真的很陌生,所以如果这太愚蠢了,我很抱歉。在 Java 中使用继承时,我很难决定使用哪种可见性。
对于我所读到的内容,要进行强大的封装,您通常将属性设置为私有,然后使用公共方法访问它们。
但是当你有内在的时候,这是不行的吗?当我阅读 Oracle 文档时,它说只有公共/受保护的成员才会继承到子类。但如果我这样做,我是否打破了封装?
同时,我在我的超类上使用私有属性,并且我正在使用公共方法访问我的子类上的这些字段。例如:
abstract public class Person{
private String name;
Person(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
public class Employee extends Person {
private int salary;
Employee(String name, int salary){
super(name);
this.salary = salary;
}
public void getDescription(){
return "Name is " + getName() + " and salary is " + this.salary;
}
}
RISEBY
Smart猫小萌
慕森王
白板的微信
相关分类