Reputation: 115773
In c# you can setup properties like this:
public int CustomerId {get;set;}
Which sets up an automatic property called CustomerId, but I was wondering if there was anything similar in Java?
Upvotes: 26
Views: 14095
Reputation: 1500385
No, Java has nothing similar at the moment. Heck, properties in Java are mostly just conventions of get/set methods, rather than being genuinely understood by the compiler as they are in C#. Tools and libraries recognise the get/set pattern, but the language doesn't know about them. (It's possible that in a future version of Java, there'll be more "formal" support.)
Some Java-like languages such as Groovy do have automatic property generation, however.
Upvotes: 29
Reputation: 12260
http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm
IntegerProperty num = new SimpleIntegerProperty(666);
System.out.println(num.getValue());
"Special attributes/properties" instead of getter/setter in Java to avoid boiler plate code
Upvotes: 1
Reputation: 121
Not in the Java language itself. However, there is at least one library that provides that. See: http://projectlombok.org/ (or more specific: http://projectlombok.org/features/GetterSetter.html)
Upvotes: 6
Reputation:
You can also do this easily, using the annotations from Project Lombok
Upvotes: 4
Reputation: 354476
No, there isn't such a thing in Java.
In Eclipse, however, you can automatically implement getter/setter methods for fields with Source > Generate Getters/Setters.
Upvotes: 12