私は本からJavaを学んでおり、アクセス制御に関する章です。この演習では、パッケージ内にクラスを作成し、そのクラスのインスタンスをパッケージ外に作成するように求められます。Javaパッケージの作成とインポート(初心者)に何が間違っていますか?
私のファイルのすべてがに配置されているフォルダ内に作成されています: ユーザ/ MYNAME /デスクトップ/ Javaの/のAccessControl、それは
を重要私はとのファイルPerson.javaを作成した場合、私はマックの午前このコード:
私はドメイン名を持っていないので、net.mylastnameを使用してそのパッケージ名をランダムに作成しました。
それから私は
import net.baumli.a.Person;
public class AcTest {
public static void main(String[] args) {
Person mike = new Person();
mike.welcome();
}
}
AcTest.java
ファイルを作成し、私はのjavac AcTest.java をコンパイルし、これらのエラー受信:cTest.java:1: error: package net.baumli.a does not exist
import net.baumli.a.Person;
^
AcTest.java:5: error: cannot access Person
Person mike = new Person();
^
bad source file: ./Person.java
file does not contain class Person
Please remove or make sure it appears in the correct subdirectory of the sourcepath.
2エラー
を私がする必要がありますか私のCLASSPATH変数を変更しますか?私は、クラスが正しいサブディレクトリにないと言うことを知っていますが、どうすればそれを取得できますか?パッケージ名を作成するときに、それをランダムな名前にしてもいいですか、それともディレクトリパスに一致させる必要がありますか?私は全体の状況にちょうど非常に混乱しています。あなたが与えることができるどんな助けも大いに感謝されるでしょう!
これは、ばかな質問ですフォルダ "net"、 "baumli"、 "a"は存在しますか? (あなたのパッケージの名前に合っています) – jorgevasquezang
Person/java/accessControl/net/baumli/a /にPerson.javaとAcTest.javaを入れます。コマンドラインでコンパイルしていると仮定して、デフォルトのディレクトリをユーザー/ myname /デスクトップ/ java/accessControl /。次に "javac net/baumli/a/AcTest.java"を実行します。他のクラスが見つかる必要がある場合を除いて、クラスパス変数は必要ありません。 – arcy