Node:Field operations, Next:Defining new classes, Previous:Method operations, Up:Objects Classes and Modules
Kawa has both a high-level interface and a low-level interface for accessing the fields of Java objects and static fields. The lower-level interfaces are macros that return functions. These functions can be inlined, producing efficient code. The higher-level functions are less verbose and more convenient. However, they can only access public fields.
field object fieldname | Function |
Get the instance field with the given fieldname from the given
Object. Returns the value of the field, which must be public.
This procedure has a setter , and so can be used as the first
operand to set! .
The field name is "mangled" (see Mangling) into a valid Java name.
If there is no accessible field whose name is If object is a primitive Java array, then fieldname can only
be |
static-field class fieldname | Function |
Get the static field with the given fieldname from the given
class. Returns the value of the field, which must be public.
This procedure has a setter , and so can be used as the first
operand to set! .
|
Examples:
(static-field <java.lang.System> 'err) ;; Copy the car field of b into a. (set! (field a 'car) (field b 'car))
slot-ref object fieldname | Function |
A synonym for (field object fieldname) .
|
slot-set! object fieldname value | Function |
A synonym for (set! (field object fieldname) value) .
|