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