面向对象有三大特性:封装、继承、多态,此次主要介绍封装
一、定义
封装其实就是把一些细节信息隐藏起来,使其对外界不可见。
二、封装性在Java中的体现
1、方法就是一种封装
public class Method {
public static void main(String[] args) {
int[] array = {10, 20, 2, 3, 2, 30};
int max = getMax(array);
System.out.println("最大值为" + max);
}
public static int getMax(int[] array) {
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
return max;
}
}
2、关键字private也是一种封装(可以在方法内处理不合理数据,提高代码安全性)
注意事项:
① 一旦使用,不能在本类以外直接访问,但是可以定义一对Getter/Setter方法间接访问
② 必须用setXxx或者是getXxx命名
③ 对于Getter方法,不能有参数,返回值类型和成员变量对应
④ 对于Setter方法,不能有返回值,参数类型与成员变量对应
⑤ 对于基本数据类型中的boolean值,Getter方法一定要写成isXxx的形式,而Setter规则不变
public class Person {
String name;
private int age;
public void show() {
System.out.println("我叫" + name + ",年龄是" + age);
}
// 这个成员方法,专门用于向age设置参数
public void setAge(int num) {
if (num < 150 && num > 0) {
age = num;
} else {
System.out.println("数据不合理!");
}
}
// 这个成员方法,专门获取age的数据
public int getAge() {
return age;
}
}