[英]Simulate `property` in Java: how to use public field as property?
在playframework中 ,它使用javassist庫使類的公共字段可用作property
。
參見示例:
public class User {
public String name;
}
User user = new User();
user.name = "Freewind"
System.out.println(user.name);
在編譯時,用javassist播放增強了字節碼,最終代碼類似於:
public class User {
private String name;
public String getName() { return this.name; };
public void setName() { this.name = name; };
}
User user = new User();
user.setName("Freewind");
System.out.println(user.getName());
您不僅可以看到字段name
具有getter和setter,而且還可以將其調用更改為getter和setter。
我想知道是否還有其他方法可以做到這一點(使用javassist以外的其他方式)?
我找到了注釋處理工具 ,但不確定它是否可以做到。
還是aspectj? 或者是其他東西?
您可以查看Project Lombok ,它的功能類似,但帶有注釋。 使用Lombok項目時,您確實需要在自己的代碼中使用getter和setter。
並非沒有其他工具。
與C#不同,Java不支持屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.