封装encapsulation就是把抽象出的数据{属性}和方法封装在一起数据被保护在内部程序的其他部分只有被授权后才能进行访问
封装可以验证数据和确保合理性
1.对属性进行私有化
2.提供一个公共的方法
3.提供get方法
可以在setting中加入业务逻辑
访问私有定义时需要用到getting方法
package com.hsperu.encap;
public class Enca_01 {
public static void main(String[] args) {
Person person = new Person();
person.setName("Jack");
person.setAge(30000 );
System.out.println(person.info());
System.out.println(person.getSal());
}
}
class Person{
public String name;
private int age;
private double sal;
//自己写太慢使用快捷键Alt + Ins
//===================================================
public String getName() {
return name;
}
public void setName(String name) {
//加入对name的判断
this.name = name;
}
//=====================================================
public int getAge() {
return age;
}
public void setAge(int age) {
if(age >= 1 && age<= 120){
this.age = age;
}
else{
System.out.println("年龄输入有问题");
this.age = 18;
}
}
//=========================================
public double getSal() {
//增加对当前对象的权限判断
return sal;
}
public void setSal(double sal) {
this.sal = sal;
}
//================================================
//写一个方法返回属性信息
public String info(){
return "信息为 name= "+ name+" age = "+age+" sal = "+sal;
}
}