java访问注释符,Java如何在Lombok的@Getter和@Setter注解中定义访问修饰符?

239ee2dce82c8d51721e3f5583e2fe77.png

默认情况下,当我们使用Lombok@Getter和@Setter注解时,将使用publicaccess修饰符创建getter和setter 。但是,我们可以通过设置改变访问修饰符AccessLevel的@Getter和@Setter注释。对于访问级别可用的选项有AccessLevel.PUBLIC,AccessLevel.PROTECTED,AccessLevel.PACKAGE,AccessLevel.PRIVATE。这些枚举值对应于Java的access修饰符。而AccessLevel.NONE会禁用getter和setter方法的生成。package org.nhooo.example.lombok.domain;

import lombok.AccessLevel;

import lombok.Getter;

import lombok.Setter;

@Getter @Setter

public class Person {

@Setter(AccessLevel.PROTECTED)

private String firstName;

private String lastName;

private String gender;

@Getter(AccessLevel.PRIVATE)

private int age;

}

我们如何使用Person以下代码段中的类显示:package org.nhooo.example.lombok;

import org.nhooo.example.lombok.domain.Person;

public class PersonDemo {

public static void main(String[] args) {

Person person = new Person();

person.setLastName("Bar");

person.setGender("M");

person.setAge(20);

System.out.println(person.getFirstName());

System.out.println(person.getLastName());

System.out.println(person.getGender());

}

}

如果尝试查看该类的生成类,则Person可以运行以下命令来反汇编该类。javap -p -cp . org.nhooo.example.lombok.domain.Person

并且我们获得了以下javap命令输出。如我们所见,该setFirstName()方法具有protected访问修饰符,并且该getAge()方法具有private访问修饰符。另一个mutator和accessor方法都设置为public访问修饰符。public class org.nhooo.example.lombok.domain.Person {

private java.lang.String firstName;

private java.lang.String lastName;

private java.lang.String gender;

private int age;

public org.nhooo.example.lombok.domain.Person();

public java.lang.String getFirstName();

public java.lang.String getLastName();

public java.lang.String getGender();

public void setLastName(java.lang.String);

public void setGender(java.lang.String);

public void setAge(int);

protected void setFirstName(java.lang.String);

private int getAge();

}

Maven依赖

org.projectlombok

lombok

1.18.4

lombok.svg?label=Maven%20Central

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值