一.JAVA封装
1.封装的理解
封装是 JAVA 面向对象思想的 一 种特性,也是一种信息隐蔽的技术
2.封装的原则
将类中的某些信息隐藏起来,来防止外部程序直接访问,通过类中的方法实现对隐藏的信息调用和访问,使用对应的 get 和 set 方法。
3.封装的优点
隐藏信息,有利于数据安全性
举个例子,我们日常生活中的插座,如果没有封装外壳直接使用零线火线的话会比较危险,加上外壳封装之后使用起来既方便又安全
调压着只需调用,无需了解实现过程
4.通过private 关键词声明使用
//案例
public class Student{
String name;//姓名
int age;//年龄
}
上面定义了一个Student类,下面写一个Student01类进行测试
public class Student01{
public static void main(String[] args){
//创建Student类型的对象
Student s = new Student();
System.out.println(s.age);//这里输出结果为0,因为没有设置值
p.age = -10;//这个地方的数据不合理, 因为年龄都是整数,负数年龄怎么可能出来丫~
}
}
上面的Student01中人的年龄出现了-10,这显然是一个不合法的数据,所以应该将Student类中的age隐藏起来,不能让外界直接访问,需要使用private修饰符将age进行封装。
class Student{
private String name;
private int age;
}
//添加了private修饰之后,外界无法直接访问age了
//这时候需要提供两个办法供外界访问即set方法和get发放
//对外提供两个公开的方法
//set 赋值
public void setAge(int agea){
//安全控制
if(agea<0 || agea>120){
System.out.println("年龄不合法");
return; //返回值
}
age = agea;//这里把agea赋值给age
}
//get 读取获取
public int getAge(){
return age;
}
public void setName(String namea){
name = namea;
}
public String getName(){
return name;
}
}
//创建测试类
public class Student02{
public static void main(String[] args){
//创建Student类型对象
Student s = new Student();
s.setName("小董");
s.setAge(23);
System.out.println("大家好,我叫"+s.setName);
System.out.prinln("我今年的年龄"+s.set.Age+"岁");
}
}
输出结果为
大家好,我叫小董
我今年的年龄23岁