我们使用 @JvmField 注解对Kotlin中的属性字段标注,表示这是一个实例字段(Instance Fields),Kotlin编译器在处理的时候,将不会给这个字段生成getters/setters方法。
class Department {
    var id: Long = -1L
    var name: String = "Dept"
    var isOpen: Boolean = true
    var isBig: String = "Y"
    @JvmField var NO = 0
}
映射成Java的代码就是:
public final class Department {
   private long id = -1L;
   @NotNull
   private String name = "Dept";
   private boolean isOpen = true;
   @NotNull
   private String isBig = "Y";
   @JvmField
   public int NO;
   public final long getId() {
      return this.id;
   }
   public final void setId(long var1) {
      this.id = var1;
   }
   @NotNull
   public final String getName() {
      return this.name;
   }
   public final void setName(@NotNull String var1) {
      Intrinsics.checkParameterIsNotNull(var1, "<set-?>");
      this.name = var1;
   }
   public final boolean isOpen() {
      return this.isOpen;
   }
   public final void setOpen(boolean var1) {
      this.isOpen = var1;
   }
   @NotNull
   public final String isBig() {
      return this.isBig;
   }
   public final void setBig(@NotNull String var1) {
      Intrinsics.checkParameterIsNotNull(var1, "<set-?>");
      this.isBig = var1;
   }
}
我们在Java中调用的时候,就直接使用这个属性实例字段NO :
System.out.println(d.NO = 10);