Package names and type names are usually different under the naming conventions described in §6.8. Nevertheless, in a contrived example where there is an
unconventionally-named package Vector, which declares a public class named
Mosquito:
package Vector;
public class Mosquito { int capacity; }
and then the compilation unit:
package strange.example;
import java.util.Vector;
import Vector.Mosquito;
class Test {
public static void main(String[] args) {
System.out.println(new Vector().getClass());
System.out.println(new Mosquito().getClass());
}
}
the single-type-import declaration (§7.5.1) importing class Vector from package
java.util does not prevent the package name Vector from appearing and being
correctly recognized in subsequent import declarations. The example compiles
and produces the output:
class java.util.Vector class Vector.Mosquito