-1
package com;

class Account {

    public double balance;

    public Account(double initBalance) {
       balance = initBalance;
    }
}

Account.class ファイルが生成されますが、同じフォルダーにあります。「com」という名前のファイル サブフォルダーは作成されません。実際に直接コンパイルしてみました。これで、ルート ディレクトリを指定せずに Java ファイル フォルダをコンパイルするのは完全に間違っていることがわかります。( -d . )

4

2 に答える 2

1

コマンド ラインからコードをコンパイルする場合は、次のコマンドを使用して、パッケージに対応するフォルダーを自動的に作成できます。

javac -d . Account.java

これによりcom、あなたAccount.javaが配置されている現在のフォルダーにフォルダーが作成され、クラスファイルがそのフォルダーに自動的に移動されます。

パッケージはあなたのclass files. .javaファイルはどこにでも配置できます。さらに、対応するファイルは、.classファイル内の対応するフォルダー内にある必要があります。package.java

たとえば、次のディレクトリ構造を参照してください。

root --+ Account.java 
       |
       +-- com --Account.class  (com is the package folder)

したがって、Accountクラスの完全修飾名は - になりますcom.Account

次に、Accountクラスが他のクラスによって検出されるように、クラスパスをフォルダーまで設定しcomます (: -comクラスパスにフォルダーを含めないでください)。

于 2012-12-21T05:44:06.893 に答える
0

まず第一に、パッケージは何もありません、それはフォルダです(技術的ではありません)。フォルダー/パッケージ.java内に作成されていることを確認してください。comまた、comフォルダー/パッケージの一部ではありません。Netbeans などの IDE で作業している場合は、package を右クリックし、 Newを右クリックしてからJava classを選択します。

アップデート

IDE を使用していない場合は、クラスパスを確認してください。E:\data\fold\java1mods\Module2\excercise4\BankPrj\あなたの場合ですclass path。次に、comフォルダーを作成し、.java同じディレクトリ内にファイルを作成しますcom

于 2012-12-21T05:35:12.167 に答える