Ho una classe A
con una classe interna statica al suo interno chiamato B
:Impossibile importare la classe interna statica?
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);
}
}
voglio importazione statica tutto in B
, ma non funzionerà:
$ 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
Perché?
"Questo non funzionerà se A è nel pacchetto predefinito." Che cosa. Perché? – Dog
Da JLS, sembrerebbe che la classe TypeName debba essere pienamente qualificata. A giudicare da ciò, il compilatore richiede la presenza di un nome di pacchetto, probabilmente per evitare l'ambiguità dell'uso della classe – Reimeus