2016-09-05 16 views
1

私はJavaを初めて使い、2つのクラスを設定することを任されています。一つは、私がやったことがあり、エラーなくコンパイルされた人物です。 2番目の変数は、subjectという変数を1つ追加するTeacherです。 Teacherクラスをコンパイルしようとすると、Teacher.java:3:error:シンボルが見つかりません。ツールに行き、Evaluate Lineを使うとエラー(1)が返されます:定義されていない関数です。エラー:機能が定義されていません

これはPersonクラスのコードです。

package School;

public abstract class Person { 
    private String firstName; 
    private String lastName; 

    public Person() { 
    } 
    public Person(String firstName, String lastName) { 
    setFirstName(firstName); 
    setLastName(lastName); 
    } 
    public String getFirstName() { return firstName; } 
    public void setFirstName(String firstName) { 
    this.firstName = firstName; 
    } 
    public String getLastName() { return lastName; } 
    public void setLastName(String lastName) { 
    this.lastName = lastName; 
    } 
    public String getFullName() { 
    return firstName + " " + lastName; 
    } 
} 

そして、これは私がコンパイルエラーを取得しています先生のクラスのコードです:

package School; 

public class Teacher extends Person { 
/*error(1): function not defined */ 
    private String subject; 

    public Teacher() { 
    } 
    public Teacher(String firstName, String lastName) { 
     super(firstName, lastName); 
    } 
    public Teacher(String firstName,String lastName, String subject) { 
     super(firstName, lastName); 
     setSubject(subject); 
    } 

    public String getSubject() { return subject; } 

    public void setSubject(String subject) { 
     this.subject = subject; 
    } 

    public String getFullName() { 
     return getFullName() + "Roger" + "Sakowski " + "teaches "+ subject + "English "; 
    } 
} 

私は私が持っているインターネットや私の本を検索しましたし、私が間違っているのかを把握することはできません。

+0

2つのクラスは同じパッケージに入っていますか?どのIDEを使用していますか? – MikeJRamsey56

+0

はい設定を表示するために印刷画面を添付することはできません。私はCrimson Editorを使用しています。 –

答えて

0

package文でプログラムをコンパイルするときは、-dオプションを使用する必要があります。コンパイラはPersonクラスを見つけることができるようになります

javac -d {PUT THE PATH TO THE FOLDER THAT HAS THE FILES HERE, WITHOUT THE BRACKETS} Person.java 
javac -d {PUT THE PATH TO THE FOLDER THAT HAS THE FILES HERE, WITHOUT THE BRACKETS} Teacher.java 

この方法:あなたは2つのファイルを持っているディレクトリで、次のように言い換えると、あなたはコンパイルする必要があります。指定したパッケージ名(この場合はSchool)のフォルダが作成されます。このフォルダにはコンパイルされた.classファイルがあります。

+0

私はCrimson Editorを使用しています。いずれにしてもコンパイルしようとすると、これが発生します。 –

+0

Crimson Editorを使用しています。上記のパッケージコマンドを使用してコンパイルしようとすると、javac:ディレクトリではないというエラーが表示されます。Person.java使用法:javac javac Person.javaを使用する場合はjavac Teacherを実行します。 Java私は上記のエラーを取得します。 –

+0

私はちょうど私の答えを訂正したので、LinuxとWindowsの両方で動作します。ドットを、ファイルがあるフォルダのパスに置き換えます。 – JMA

関連する問題