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 Kyulkyung {
	private final String name;
	
	private final Integer age;
	
	private final boolean boo;
}
编译后
public class Kyulkyung {
  	private final String name;
  	
  	private final Integer age;
  	
  	private final boolean boo;
	
  	@Deprecated
  	private Kyulkyung() {
    	this.name = null;
    	this.age = null;
    	this.boo = false;
  	}
  	
  	protected static Kyulkyung newInstance() {
  		return new Kyulkyung();
  	}
}

你可能感兴趣的:(Java,lombok,java,lombok)