В С# вы можете использовать свойства, чтобы сделать поле данных общедоступным (позволяя пользователю напрямую обращаться к нему), но при этом сохраняя возможность выполнять проверку данных для этих полей с прямым доступом. Есть ли у Java что-то подобное? Предположим, что для экземпляра существует класс С# со следующей реализацией (см. Ниже):
public class newInt{
public newInt(){...}
public int x{
get{ return this.x }
set{ this.x = isValid(value) }
}
}
private static int isValid(int value){...}
Это определение в классе позволяет пользователю "естественно" использовать поле данных "x" при извлечении из него значений и присвоении ему значений. Ниже описано, как он будет использоваться в основном.
public class Test{
public static void main(String[] args){
newInt a = new newInt();
a.x = 50;
int b = a.x;
}
}
Вопрос в том, может ли java сделать это тоже? если да, то как это называется?