[Java语法篇5]Java类的封装
1.封装的引入
观察下列代码
public class Student{
int age;
}
public class Test{
public static void main(String[] args){
Student student = new Student();
student.age = 1010;//直接访问成员变量改变值
System.out.println(student.age);
}
}
显然人的年龄不可能为1010,也不可能为负数
直接访问成员变量的问题:直接访问成员变量无法对其赋的值限定
解决办法:将成员变量的访问权限改成private,生成setter方法,为成员变量赋值,生成getter方法获取成员变量(封装的思想)
2.封装的定义与代码
1)定义:通过公共方法操作私有变量称为封装,有助于数据安全
2)代码:
public class Student{
private int age;
public void setAge(int age){ //setter方法,给成员变量赋值
if(age<0 || age>150){
System.out.println("年龄无效");
}else{
this.age = age;
}
}
public int getAge(){ //getter方法,获取成员变量的值
reuturn age;
}
}
public class Test{
public static void main(String[] args){
Student student = new Student();
student.setAge(-10);
System.out.println(student.getAge());
}
}