目录
封装概述:是面向对象三大特征之一(封装,继承,多态)
对象代表什么,就得封装对应的数据,并提供数据对应的行为
创建类的过程就是封装的过程。封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特征。通过封装可以把对象的实现细节对外界隐藏起来,具有两层含义:
封装的好处:降低学习成本,不用记对象有哪些方法,需要时去找就行
private/public关键字可以确保正确的可以赋值,错误的无法赋值
private是一个修饰符,可以用来修饰成员(成员变量,成员方法)
被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使用,提供相应的操作
针对每个私有化的成员变量,都要有get和set方法
提供“get变量名()”方法,用于获取成员变量的值,方法用public修饰
提供“set变量名(参数)”方法,用于设置成员变量的值,方法用public修饰
- class Student {
- //成员变量
- String name;
- private int age;
-
- //提供set方法,给成员变量age进行赋值
- public void setAge(int a) {
- if(a<0 || a>120) {
- System.out.println("你给的年龄有误");
- } else {
- age = a;
- }
- }
- //提供get方法,对外提供name属性
- public int getAge() {
- return age;
- }
-
- //成员方法
- public void show() {
- System.out.println(name + "," + age);
- }
- }
- public class StudentDemo {
- public static void main(String[] args) {
- //创建对象
- Student s = new Student();
- //给成员变量赋值
- s.name = "林青霞";
- s.setAge(30);
- //调用show方法
- s.show();
- }
- }
我们可不可以把setAge方法去掉,然后在main方法中直接判断年龄是否正确?
不可以,因为对象代表什么,就得封装对应的数据,并提供数据对应的行为,student方法封装了学生的所有属性,对属性校验的方法也必须封装在student方法中