-2

私はクラス従業員を持っています

import javax.swing.*;
public abstract  class Employee {
    public static void  searchEmp(int id) {
        JOptionPane.showMessageDialog(null, "done");
    }
}

今、私は別のクラステストを持っています:

public class `test` {
   public static void main(String args[]) {
     searchEmp(2);// here my programme give error
   }
}

searchEmp()クラス テストから Employee の一部であるを呼び出したいのですが、エラーが発生します。継承なしの解決策を提案してください。

4

3 に答える 3

6

に電話する必要がありますEmployee.searchEmp()

静的メソッドsearchEmp()は依然としてクラスのメンバーであり、Employeeそのクラスを介して静的呼び出しを行う必要があります。

また、クラスはクラスEmployeeに表示されている必要がありますtest。そうでない場合は、インポートする必要があります。2 つのクラスが同じパッケージにあると想定しているため、これは問題にはなりません。

于 2012-12-07T16:49:44.407 に答える
2

静的メソッドとプロパティはclassにバインドされます。ClassName.methodNameしたがって、またはを使用する必要がありますClassName.propertyName

Employee.searchEmp();
于 2012-12-07T16:51:47.350 に答える
1

Test クラスには静的な searchEmp(int) メソッドがないため、次のエラーが発生します。

 searchEmp(2);// here my programme give error

する必要があります

Employee.searchEmp(2);

静的メソッドは次を使用して呼び出されますClassName.staticMethod()

于 2012-12-07T16:51:21.313 に答える