@Target(value=FIELD) @Retention(value=CLASS) public @interface val
You use the property directly as declared:
@val String name; // a public read-only property
When used in an interface the property is public and abstract, a public getter is generated. If the property is initialized, the getter is
String theName = foo.name; // compiles as a call to foo.getName()
defaultand returns the initialized value. When used in a class the property is public by default, a private final backing field is generated having the same name, and a public getter is generated returning the field. The property must be initialized either in its declaration or in the constructor(s). A property can be declared with
static. When used in a class, the same rules apply as non-static. Static interface properties, however, must always be calculated -- getter/setter methods must be provided. Note, the
abstractmodifiers can be used in a property declaration; they apply to the getter/setter accessor methods. Thus, if there are user-defined getter/setter methods corresponding with the property, they must reflect the modifiers from the property.
public abstract PropOption value
Copyright © 2021. All rights reserved.