• 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

     

  • 相关阅读:
    java输出菱型
    java----内部类
    java中的多重继承
    java算法--三个数字比较大小
    Python基础(2)
    Python基础(1)
    Redis主从同步
    一种高效的进程间的通信方式
    自旋锁和互斥锁的区别
    Linux读写锁的使用
  • 原文地址:https://www.cnblogs.com/GumpYan/p/13722991.html
Copyright © 2020-2023  润新知