Java 是否具有与 C# 中属性工作方式相同的“属性”?
2022-09-01 18:54:40
在 C# 中,可以使用属性使数据字段可公开访问(允许用户直接访问它),同时保留对这些直接访问的字段执行数据验证的能力。Java有类似的东西吗?例如,假设存在一个具有以下实现的 C# 类(见下文):
public class newInt{
public newInt(){...}
public int x{
get{ return this.x }
set{ this.x = isValid(value) }
}
}
private static int isValid(int value){...}
类中的此定义允许用户在从中检索值并为其赋值时“自然地”使用数据字段“x”。以下是它将如何在main中使用。
public class Test{
public static void main(String[] args){
newInt a = new newInt();
a.x = 50;
int b = a.x;
}
}
问题是...Java也可以做到这一点吗?如果是这样,它叫什么?