Details
-
Type:
Bug
-
Status: Closed
-
Priority:
P4
-
Resolution: Fixed
-
Affects Version/s: 1.2.0
-
Fix Version/s: 1.2.0
-
Component/s: specification
-
Subcomponent:
-
Resolved In Build:1.2fcs
-
CPU:sparc
-
OS:solaris_2.4
-
Verification:Not verified
Description
Name: akC45999 Date: 04/26/98
Section 4.8 Fields reads:
...
ACC_FINAL 0x0010
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?
======================================================================
Attachments
Issue Links
- relates to
-
JDK-4225894 VM does not check if a final field is initialized twice
-
- Closed
-