1 - Означает ли это: я мог бы найти структуру папок, как javax/servlet/http
где-то и внутри этого HttpServlet.class файл будет присутствовать?
В этом случае, возможно, не в файловой системе, как таковой. (Этот класс является частью библиотек времени исполнения J2SE.)
2 - Если нет, то где именно этот файл класса может быть найден?
В файле JAR, который находится на пути к классу JVM или bootclasspath. Файл JAR представляет собой архив, содержащий файлы .class
и другие ресурсы. Путь к классу в файле JAR будет /javax/servlet/http/HttpServlet.class
. (В этом случае класс в файле rt.jar
.)
3 - Означает ли это: Это просто вложенные пространства имен, не имеющих отношения к структуре папок?
Нет. Если у вас есть папки файловой системы на пути к классу, они могут быть найдены, чтобы найти классы до или после файлов JAR, в зависимости от того, где они находятся на пути к классам. Путь к классам эффективно перекрывает пространства имен. Пространства имен файлов JAR могут перекрывать пространства имен папок файловой системы и наоборот, в зависимости от эффективного пути к классам.
4 - Название упаковки в вышеупомянутом импорте будет javax.servlet или javax.servlet.http?
javax.servlet.http
4 продолжение - Вероятно, оба пакета и первые один супер пакет более поздний?
Оба являются пакетами, но в Java нет такой вещи, как «супер пакет». Что касается языка Java, то javax.servlet
и javax.servlet.http
являются несвязанными пакетами. Некоторые люди могут сказать, что javax.servlet
является родительским пакетом javax.servlet.http
, но это утверждение не имеет никакого внутреннего смысла с точки зрения языка Java. Очевидные отношения между родителями и детьми являются чисто условными.
5 - Как этот файл класса фактически включен? Я читал, что импорт не похож на C/C++.
Файл класса не «включен» в каком-либо смысле. Java import
- это нечто большее, чем сокращенное название, которое позволяет ссылаться на импортированное имя, не указывая его полное имя пакета.
Это не «сомнения» ... это «вопросы». –
@ Stephen C: заменил «сомнения» на «вопросы» :) – understack