Dlaczego nie ten program java kompilacji:Błąd kompilacji w języku Java zależy od tego, czy nazwa zmiennej statycznej jest kwalifikowana?
public class xx {
public static final Object obj;
static {
// obj = null; // this compiles
xx.obj = null; // this doesn't
}
}
z tego błędu:
$ javac xx.java
xx.java:5: cannot assign a value to final variable obj
xx.obj = null; // this doesn't
^
1 error
$ javac -version
javac 1.6.0_33
kiedy, czy mogę wymienić xx.obj = null
z obj = null
(jak wspomniałem w komentarzu) to nie skompilować.
Myślałem, że prefiks nazwy klasy był mniej więcej tylko składnią ... czy jest to błąd w kompilatorze lub specyfikacji językowej? :)
Prawdopodobnie błąd kompilatora (który nie ukąsił wystarczającej liczby osób, aby przyciągnąć dostatecznie dużo uwagi). Czy każdy może próbować starszej i nowszej wersji JDK? A także kompilator Eclipse? – Thilo
JDK 7 ten sam błąd tutaj. –