lombok 基础注解之 @NoArgsConstructor

最全的 lombok 注解详情(随着版本不定时更新)

一、注解介绍

作用于类,生成一个无参构造方法

二、属性介绍

  • staticName:生成的构造方法是私有的
    并且生成一个无参,返回类型为当前对象的静态方法,方法名为 staticName 值
  • onConstructor:列出的所有注解都放在生成的构造方法上
    JDK 7 之前的写法是 onConstructor = @__({@Deprecated}),而 JDK 8 之后的写法是 onConstructor_ = {@Deprecated}
  • access:设置构造方法的访问修饰符,如果设置了 staticName,那么将设置静态方法的访问修饰符
    默认:PUBLIC,共有 PUBLIC、MODULE、PROTECTED、PACKAGE、PRIVATE、NONE
    其中 MODULE 是 Java 9 的新特性,而 NONE 表示不生成构造函数也不生成静态方法,即停用注解功能
  • force:可以将所有 final 字段初始化为 0、null、false。默认为 false

三、实战演示

@NoArgsConstructor(force = true, staticName = "newInstance", access = AccessLevel.PROTECTED, onConstructor_ = {
    
    @Deprecated})
public class 周洁琼 {
    
    
	private final String name;
	
	private final Integer age;
	
	private final boolean boo;
}
编译后
public class 周洁琼 {
    
    
  	private final String name;
  	
  	private final Integer age;
  	
  	private final boolean boo;
	
  	@Deprecated
  	private 周洁琼() {
    
    
    	this.name = null;
    	this.age = null;
    	this.boo = false;
  	}
  	
  	protected static 周洁琼 newInstance() {
    
    
  		return new 周洁琼();
  	}
}

猜你喜欢

转载自blog.csdn.net/qq_39249094/article/details/120987277