我访问过许多有关简单问题的参考资料-
如何在Android Java下声明属性。
我发现的所有示例都不能消除编译器的错误。
请帮我节省时间,给我C#属性的类比,但在Android Java下。
Class A {
protected bool bField = false;
public bool BField { get { return bField; } set { bField = value; }
//和
public bool AField { get; set; }
}
谢谢
最佳答案
Java中没有“属性”(无论如何,对于编译器而言)。 C#属性在Java中可转换为三件事-私有字段,getter和setter方法。
因此,在C#中这样的属性:
public bool AField { get; set; }
将在Java中转换为以下内容:
private boolean aField;
public boolean getAField() { return aField; }
public void setAField(boolean aField) { this.aField = aField; }
(实际上,对于布尔字段,getter通常带有前缀
is
,例如isHidden
,isEnabled
等,但是在这里isAField
听起来很奇怪)