Имеет ли Java автоматические свойства?
В С# вы можете настроить такие свойства следующим образом:
public int CustomerId {get;set;}
Что создает автоматическое свойство CustomerId, но мне было интересно, было ли что-то подобное в Java?
Ответы
Ответ 1
Нет, на данный момент Java не имеет ничего подобного. Heck, свойства на Java - это в основном просто условные методы get/set, а не быть понятными компилятору, как они есть на С#. Инструменты и библиотеки распознают шаблон get/set, но язык не знает о них. (Возможно, что в будущей версии Java будет больше "формальной" поддержки.)
Некоторые Java-подобные языки, такие как Groovy, однако, имеют автоматическое создание свойств.
Ответ 2
Нет, в Java такого не существует.
В Eclipse вы можете автоматически применять методы getter/setter для полей с Source > Generate Getters/Setters.
Ответ 3
Не на языке Java. Однако есть, по крайней мере, одна библиотека, которая обеспечивает это. См.: http://projectlombok.org/ (или более конкретно: http://projectlombok.org/features/GetterSetter.html)
Ответ 4
Вы также можете сделать это легко, используя аннотации из Project Lombok
Ответ 5
- Свойства JavaFX также могут представлять интерес:
http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm
IntegerProperty num = new SimpleIntegerProperty(666);
System.out.println(num.getValue());
- Также см. этот связанный вопрос о том, как избежать получения/установки кода плиты котла:
"Специальные атрибуты/свойства" вместо getter/setter в Java, чтобы избежать кода плиты котла