2011-06-19 3 views
0

SCJP試験の準備、我々は次のコードを通過したところ:JavaパッケージとWindowsディレクトリに関する混乱?

package certificaton;  
public class OtherClass  
{  
public void testIt()  
    {  
    System.out.println("otherclass");  
    }  
} 

そして、この:C:\ SCJP \

package somethingElse;  
import certification.OtherClass;  
public class AccessClass  
{  
    public static void main(String args[])  
    {  
     OtherClass o= new OtherClass();  
     o.testIt();  
    }  
} 

私は、次のディレクトリに上記のファイルの両方を配置temp8;奇妙なことは、.javaファイルがコンパイルされ、2つの.classファイルが同じディレクトリに作成されることになります。私が尋ねたいことは、パッケージとディレクトリの違いです。パッケージ宣言に記載されている以外のディレクトリにクラスファイルを作成できるのは本当ですか?そして、パッケージ宣言は何か「仮想」であり、Windowsのディレクトリ構造は無視されます。ディレクトリが

javac -d . OtherClass.java 

を作成され、常に必須ではありませんパッケージ宣言に準拠:さらに、それはまた、その、次のコマンドを実行して、真実ではないのですか?

答えて

1

ディレクトリが は必ずしも必須ではありませんパッケージ宣言に を準拠し作成していますか?

いいえ、パッケージとディレクトリ構造は一致する必要があります。オプションではなく必須です。

+0

しかし、両方の.javaファイルを1つの共通フォルダにコンパイルしようとしましたが、パッケージ名に合致する新しいフォルダではなく、同じディレクトリに2つの.classファイルがコンパイルされて作成されます。 – Catfish

関連する問題