Lombok —— @Getter 和 @Setter

Lombok —— @Getter 和 @Setter

官网文档地址:@Getter和@Setter (projectlombok.org)

这两个注解既可以加在方法上又可以加在类上

  • 加在方法上

    @Geter

    package cn.edu.hziee.pojo;
    
    import lombok.Getter;
    
    public class User {
        @Getter
        private String userName;
        private String password;
        private Integer age;
        private String phone;
        private String[] interest;
        private Boolean isMale;
    }
    
    

    在这里插入图片描述

    我们可以发现生成了一个 public(共有)的方法

  • 加在类上

    package cn.edu.hziee.pojo;
    
    import lombok.Getter;
    import lombok.Setter;
    
    @Getter
    @Setter
    public class User {
        private String userName;
        private String password;
        private Integer age;
        private String phone;
        private String[] interest;
        private Boolean isMale;
    }
    

    在这里插入图片描述

    • 如果类中有 staitic 类型的变量

      package cn.edu.hziee.pojo;
      
      import lombok.Getter;
      import lombok.Setter;
      
      @Getter
      @Setter
      public class User {
          private String userName;
          private static String password;
      }
      

      在这里插入图片描述

      对于静态变量 Lombok 不会生成对应的 Get 和 Set 方法

    • 如果类中有 final 类型的变量

      在这里插入图片描述

      对于常量 Lombok 不会生成对应的 Set 方法

    • 排除某个变量

      在注解中添加 AccessLevel.NONE 属性

      package cn.edu.hziee.pojo;
      
      import lombok.AccessLevel;
      import lombok.Getter;
      import lombok.Setter;
      
      @Getter
      @Setter
      public class User {
          private String userName;
          @Getter()
          @Setter(AccessLevel.NONE)
          private String password;
      }
      

      在这里插入图片描述

5.1、AccessLevel

可以发现 Lombok 生成的 get()、set() 方法默认的访问权限是 public 的

如果我们想要修改方法的访问权限,就可以在注解中增加 AccessLevel.

源码声明:

lombok.AccessLevel value() default lombok.AccessLevel.PUBLIC;

官方注释:

If you want your setter to be non-public, you can specify an alternate access level here.
Returns:
The setter method will be generated with this access modifier

如果您希望您的设置器是非公开的,您可以在此处指定备用访问级别。
返回:
将使用此访问修饰符生成 setter 方法

示例:

package cn.edu.hziee.pojo;

import lombok.AccessLevel;
import lombok.Getter;

public class User {
    @Getter(AccessLevel.PROTECTED)
    private String userName;
    private String password;
    private Integer age;
    private String phone;
    private String[] interest;
    private Boolean isMale;
}

在这里插入图片描述

此时我们发现生成的方法变为了指定的 protected 访问权限

@Setter 同理

package cn.edu.hziee.pojo;

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;

public class User {
    @Getter(AccessLevel.PROTECTED)
    @Setter(AccessLevel.PROTECTED)
    private String userName;
    private String password;
    private Integer age;
    private String phone;
    private String[] interest;
    private Boolean isMale;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bit-apk-code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值