2016-07-24 3 views
0

私は本から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変数を変更しますか?私は、クラスが正しいサブディレクトリにないと言うことを知っていますが、どうすればそれを取得できますか?パッケージ名を作成するときに、それをランダムな名前にしてもいいですか、それともディレクトリパスに一致させる必要がありますか?私は全体の状況にちょうど非常に混乱しています。あなたが与えることができるどんな助けも大いに感謝されるでしょう!

+0

これは、ばかな質問ですフォルダ "net"、 "baumli"、 "a"は存在しますか? (あなたのパッケージの名前に合っています) – jorgevasquezang

+0

Person/java/accessControl/net/baumli/a /にPerson.javaとAcTest.javaを入れます。コマンドラインでコンパイルしていると仮定して、デフォルトのディレクトリをユーザー/ myname /デスクトップ/ java/accessControl /。次に "javac net/baumli/a/AcTest.java"を実行します。他のクラスが見つかる必要がある場合を除いて、クラスパス変数は必要ありません。 – arcy

答えて

0

パッケージディレクトリをプログラムディレクトリの上に移動してください。

あなたのプログラムディレクトリCがしてみましょう:\ Javaの\ AcTest.java

次にあなたが Cのようなあなたのパッケージディレクトリを作成することができます:\ Javaの\純\ baumli \ A \人

関連する問題