Mam klasy A
ze statycznym klasy wewnętrznej w środku o nazwie B
:Nie można zaimportować statycznej klasy wewnętrznej statycznej?
import static A.B.*;
class A {
static class B {
static int x;
static int y;
}
public static void main(String[] args) {
System.out.println(x);
}
}
Chcę statycznej importu wszystkiego w B
, ale to przyzwyczajenie praca:
$ javac A.java
A.java:1: package A does not exist
import static A.B.*;
^
A.java:9: cannot find symbol
symbol : variable x
location: class A
System.out.println(x);
^
2 errors
Dlaczego?
"To nie zadziała, jeśli A jest w domyślnym pakiecie." Co. Czemu? – Dog
Z JLS wydaje się, że klasa TypeName musi być w pełni kwalifikowana. Sądząc po tym, kompilator wymaga obecności konwencji nazwy pakietu, prawdopodobnie w celu uniknięcia niejednoznaczności użycia klasy – Reimeus