有关Java中的封装技术
一、什么是封装
封装 = 隐藏属性 + 公开方法
- 把成员变量私有化(不让外界直接访问)
- 提供get/set 方法让外界间接读写
- 目的:保护数据、控制数据合法性
二、三大特点
- 私有化成员变量:用 private 修饰
- 提供公共方法: setXxx() 赋值, getXxx() 取值
- 方法里加校验:防止非法数据存入
三、标准封装写法(模板)
java
// 学生类 标准封装
public class Student {
// 1. 私有成员变量
private String name;
private int age;
// 2. set方法:赋值 + 校验
public void setAge(int age) {
if(age > 0 && age < 150){
this.age = age;
}else{
System.out.println("年龄不合法");
}
}
// 3. get方法:取值
public int getAge(){
return age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
// 展示信息
public void show(){
System.out.println(name + " " + age);
}
}
四、测试调用
java
public class Test {
public static void main(String[] args) {
Student s = new Student();
// s.age = -10; 直接报错,私有访问不到
s.setAge(20);
s.setName("张三");
System.out.println(s.getName() + s.getAge());
}
}
五、this 关键字作用
this.变量 :区分成员变量和局部变量
- 左边 this.age :类里的成员变量
- 右边 age :方法传进来的参数
六、封装好处
- 安全性高:禁止乱改数据
- 可控性强:赋值前做判断
- 代码易维护:统一入口修改
- 符合面向对象思想
七、快捷键快速生成
IDEA / Eclipse 一键生成:
- 写完 private 变量
- 右键 → Generate → Getter and Setter
自动批量生成所有get/set方法
浙公网安备 33010602011771号