Я использую Notepad ++ для написания кода Java и командной строки для его компиляции и запуска. Ниже приведен пример кода Java,
package abraKadabra;
public class SuperClass{
protected int anInstance;
public static void main(String [] abc){
System.out.println("Hello");
}
}
Однако этот файл находится в следующей структуре папок:
"usingprotected\superPkg" (usingProtected - это папка где-то в иерархии в C:)
Итак, имя моего пакета здесь должно быть чем-то вроде useProtected.superPkg вместо abraKadabra, как я его написал.
Но, когда я компилирую этот код Java из командной строки, он компилируется отлично, без ошибок или предупреждений. Почему это так? Должно ли имя пакета придерживаться структуры папок? И если это так, то как бы он придерживался?
Например, если мое имя пакета используетProtected.superPkg, будет ли компилятор проверяться в обратном порядке. Настоящий рабочий каталог должен быть superPkg, тогда родительский каталог должен использоватьсяProtected и его выполнение. Как он проверяет структуру папок с именем пакета?