实例字段
我们使用 @JvmField 注解对Kotlin中的属性字段标注,表示这是一个实例字段(Instance Fields),Kotlin编译器在处理的时候,将不会给这个字段生成getters/setters方法。
1. class Department {
2. var id: Long = -1L
3. var name: String = "Dept"
4. var isOpen: Boolean = true
5. var isBig: String = "Y"
7. @JvmField var NO = 0
8. }
映射成Java的代码就是:
1. public final class Department {
2. private long id = -1L;
3. @NotNull
4. private String name = "Dept";
5. private boolean isOpen = true;
6. @NotNull
7. private String isBig = "Y";
8. @JvmField
9. public int NO;
11. public final long getId() {
12. return this.id;
13. }
15. public final void setId(long var1) {
16. this.id = var1;
17. }
19. @NotNull
20. public final String getName() {
21. return this.name;
22. }
24. public final void setName(@NotNull String var1) {
25. Intrinsics.checkParameterIsNotNull(var1, "<set-?>");
26. this.name = var1;
27. }
29. public final boolean isOpen() {
30. return this.isOpen;
31. }
33. public final void setOpen(boolean var1) {
34. this.isOpen = var1;
35. }
37. @NotNull
38. public final String isBig() {
39. return this.isBig;
40. }
42. public final void setBig(@NotNull String var1) {
43. Intrinsics.checkParameterIsNotNull(var1, "<set-?>");
44. this.isBig = var1;
45. }
46. }
我们在Java中调用的时候,就直接使用这个属性实例字段NO :
1. System.out.println(d.NO = 10);
