Java面向对象——封装
面向对象语言的三大特征:封装、继承、多态。
封装
封装——数据的隐藏。在Java中我们创建类时,对类中的属性一般来说都会使其为私有。这是为了保护类中的属性确保其数据的安全性。而我们要访问类中的属性时,要通过操作其接口来实现。
public class Student {
private String name;
private int id;
private char set;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public char getSet() {
return set;
}
public void setSet(char set) {
this.set = set;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
上例中我们创建了一个学生类,其中学生的姓名、学号、性别设置其为私有属性。那么在使用这些数据时,不能通过对象来直接访问。必须通过该类中的接口方法来操作这些属性。例如:
public static void main(String[] args) {
Student student = new Student();
student.setName("张三");
student.setId(19);
student.setSet('男');
System.out.println(student.getName());
System.out.println(student.getId());
System.out.println(student.getSet());
}
运行结果:
这里我们可以看到,要使用类中的私有属性,只能借用类中的接口方法。一般来说,类中都会提供set()和get() 这两种方法来实现属性的赋值和获取。
小结:
- 在Java中,程序设计要求“高内聚,低耦合”。
- 高内聚:在类中,类的内部数据操作细节由自己完成,不允许外部干涉。
- 低耦合:在类中,仅仅暴露少量的方法给外部使用。
- 在类中,除非有特别理由,不然其属性一般为私有属性
- 对于私有属性的访问,只能通过类的接口方法来实现。