-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()从类测试中调用 which 是 Employee 的一部分,但它给出了一个错误。请提出任何没有继承的解决方案。

4

3 回答 3

6

你必须打电话Employee.searchEmp()

静态方法searchEmp()仍然是该类的成员,Employee您必须通过其类进行静态调用。

此外,该类Employee必须对该类可见test,否则您必须导入它。我假设这两个类驻留在同一个包中,因此在您的情况下这不会成为问题。

于 2012-12-07T16:49:44.407 回答
2

静态方法和属性绑定到。所以你需要使用ClassName.methodNameor 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 回答