javaSE学习-面向对象3-三大特性之-封装

封装简介

封装的好处:

  1. 隐藏对象细节,提供公共访问方式
  2. 提高代码复用性,减少耦合
  3. 提高安全性,对对象成员更好地控制

封装格式

封装属性:

1
private 属性类型 属性名;

封装方法:

1
private 方法返回类型 方法名称(参数);

封装例子

封装把一个对象的属性私有化(private),提供一些公共的(public)方法让外界访问属性

可以对设置属性入口做一些限制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class Person {
private String name;
private int age;

public int getAge(){
return age;
}

public void setAge(int age){
if(age<0){
System.out.println("设置年龄有误:"+age+"岁不属于人类年龄...");
} esle{
this.age = age;
}
}

public String getName(){
return name;
}

public void setName(String name){
this.name = name;
}
}

public class PersonDemo{
public static void main(String args[]){
Person p = new Person();
p.setName("张三");
p.setAge(-10);
p.setAge(20);
System.out.println(p.getName()+"现在"+p. getAge()+"岁了");
}
}

结果:

设置年龄有误:-10岁不属于人类年龄…
张三已经20岁了

修改成员变量为private,提供 getters 和 setters 方法访问对象属性