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

 

原文地址:https://www.cnblogs.com/GumpYan/p/13722991.html