Java private关键字
1.
封装性在java中的体现:
- 方法就是一种封装
- 关键字private也是一种封装
封装就是将一些细节信息隐藏起来,对于外界不可见
问题描述:定义年龄的时候,无法阻止不合理的数值被设置进来
解决方案:用private关键字将需要保护的成员变量进行修饰
一旦使用了private进行修饰,那么本类中仍然可以随意访问,但是超出了本类范围之外的就不能再直接访问了
public class personPrivate { String name; int age; public void show() { System.out.println("我叫:" + name + ", 年龄:" + age); } }
public class Demo03Person { public static void main(String[] args) { personPrivate prson = new personPrivate(); prson.show(); prson.name = "小赵"; prson.age = -12; prson.show(); } }
如果对age设置成private
那么在其他类中不能直接访问,怎样才能间接访问呢?
间接访问private成员变量,就是定义一对setter/getter
那既然可以间接设置age,我可以prson.setAge(-12),为什么还要这样做呢?
因为,我们可以在setAge方法里面设置限制条件,这样就能够去除一些不符合条件的数值了
注意:必须叫setXxx或者是getXxx命名规则
对于Getter,不能有参数,返回值类型和成员变量类型对应。
对应Setter,不能有返回值,参数类型与成员变量类型对应。
2.
现在可以用@Getter和@Setter,而不需要再写set方法和get方法
@Getter和@Setter 出现的目的是
public int getFoo() {return foo;} 不需要在写get 和 set 方法。
您可以使用@Getter或@Setter来注释任何字段,以使lombok自动生成默认的getter / setter。
lombok生成的getter / setter方法默认作用域将是public
除非你明确指定一个AccessLevel