Name: akC45999 Date: 04/26/98
Section 4.8 Fields reads:
Is final; no further overriding or assignment after initialization.
Used by: Any field
No other explanation of restrictions caused by this access bit is provided.
So, it is not clear:
1. what are boundaries of initialization?
are they the first assigment?
or are they initialisation methods (<clinit> for static and <init> for dynamic fields)?
can a static field be reassigned if it has a ConstantValue attribute?
can initialisation methods assign final fields in other classes, e.g. in the superclass?
2. what kind of error occur and when, if an attempt is made to
- override a final field
- assign a final field after initialisation?