使用者对类内部定义的属性(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题
如下例子,将对象的age设为负数,显然不合常理。所以要将age保护起来,防止乱用。
public class Test {
public String name;
public int age;
}
public class A {
public static void main(String[] args){
Test test=new Test();
test.age=-100;
System.out.println(test.age);
}
}
将属性私有,提供公有的getxxx()与setxxx()实现对属性的操作。
这就是信息的封装和隐藏。
作用:隐藏一个类不对外提供任何实现的细节
限制不合理的操作
便于修改,增强代码的维护性
public class Test {
private String name;
private int age;
public void setAge(int x){
if(x>=0&&x<=130)
age=x;
else
System.out.println(x+"不在0到130的范围内");
}
public int getAge(){
return age;
}
}
public class A {
public static void main(String[] args){
Test test=new Test();
test.setAge(30);
System.out.println(test.getAge());
}
}
JavaBean是一种Java语言写成的可重用组建
所谓JavaBean是指类是公有的,有一个无参的构造器,有属性且对应set、get构造方法
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代替创造的对象进行打包,并且其他开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象
快捷键Shift+Alt(option)+s/Generate Getters and Setters