Dlaczego nie podajemy pliku filename.class
po komendzie java
, zamiast tylko filename
?Dlaczego nie używamy rozszerzenia .class z komendą "java"?
Załóżmy, że chcemy skompilować program test.java
, a następnie uruchomimy javac test.java
. Jest dobrze!
Po tym zostanie wyprodukowany plik test.class
, ale aby uruchomić program, uruchomimy java test
zamiast java test.class
. Jaki jest tego powód?
ostatecznie, bo tak właśnie jest ono przeznaczone. Mógł zostać zaprojektowany inaczej, ale, jak sugerują poniższe odpowiedzi, sczepianie na ".class" pomyliloby parsowanie nazwy paczki i bez wątpienia kilka innych rzeczy. Dla takich rzeczy nigdy nie ma "logicznego" projektu, tylko niektóre projekty, które są mniej nielogiczne niż inne. –