Java面向对象的三大特征为:封装、继承和多态,本文将着重介绍封装这个基本特征。
一、封装的定义
Java中的封装是指一个类把自己内部的实现细节进行隐藏,只暴露对外的接口(setter和getter方法)。简单来说,封装就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起,数据被保护在内部,程序的其他部分只能通过被授权的操作[方法],才能对数据进行操作。
封装又分为属性的封装和方法的封装。把属性定义为私有的(private),它们通过setter和getter方法来对属性的值进行设定和获取。
public class Student {
//定义属性,使用封装
private String name;
private int age;
private char gender;
private String address;
//添加构造方法
public Student() {
}
public Student(String name, int age, char gender, String address) {
this.name = name;
this.age = age;
this.gender = gender;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
二、封装的实现过程
封装的实现步骤(三步):
1.将属性进行私有化private,使外部不能直接修改属性,需要提供一个公共的方法。
public calss Test {
public String name; // 公共的属性
private int age; // 私有的属性
}
2.提供一个公共的(public)set方法,用于对属性判断并赋值。
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
3.提供一个公共的(public)get方法,用于获取属性的值。
public String getName(){
return name;
}
public int getAge(){
return age;
}
三、封装的意义
1.封装的意义就是增强类的信息隐藏与模块化,提高安全性。
2.封装的主要作用也是对外部隐藏具体的实现细节,增加程序的安全性。
3.良好的封装能够减少耦合。
4.类内部的结构可以自由修改。
5. 可以对成员变量进行更精确的控制。
6.隐藏信息、实现细节。