Java oop — 封装
权限修饰符:
- private: 成员变量和方法只能在其定义的类中被访问,具有类可见性。
- default:成员变量和方法只能被同一个包里的类访问,具有包可见性。
- protected: 可以被同一个包中的类访问,被同一个项目中不同包中的子类访问。
- public:可以被同一个项目中的所有类访问,具有项目可见性,这是最大的访问权限。
封装:
- 我们程序设计追求“高内聚,低耦合”。
高内聚 :类的内部数据操作细节自己完成,不允许外部干涉;
低耦合 :仅对外暴露少量的方法用于使用。 - 所谓的封装,就是隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。
public class Student {
private String stuNo;
private String stuName;
private char gender;
private int age;
private String product;
public Student(){}
public Student(String stuNo, String stuName, char gender, int age, String product){
this(stuNo, stuName, gender);
this.stuNo = stuNo;
this.stuName = stuName;
this.gender = gender;
this.age = age;
this.product = product;
}
public void setStuNo(String stuNo){
this.stuNo = stuNo;
}
public String getStuNo(){
return stuNo;
}
public void setStuName(String stuName){
this.stuName = stuName;
}
public String getStuName(){
return stuName;
}
public void setGender(char gender){
this.gender = gender;
}
public char getGender(){
return gender;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setProduct(String product){
this.product = product;
}
public String getProduct(){
return product;
}
@Override
public String toString(){
return MessageFormat.format("学号:{0}\n姓名:{1}\n性别:{2}\n年龄:{3}\n课程:{4}\n",
stuNo, stuName, gender, age, product);
}
}