Java 在另一个类中调用抽象类的静态方法

Java 在另一个类中调用抽象类的静态方法,java,inheritance,static,Java,Inheritance,Static,我有一个班的员工 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[]) {

我有一个班的员工

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的一部分,但它给出了一个错误。请建议任何不带继承的解决方案。

您必须调用
Employee.searchEmp()

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


此外,类
员工
必须对类
测试可见,否则必须导入它。我假设这两个类位于同一个包中,因此在您的情况下这不会是一个问题。

您的测试类没有静态searchEmp(int)方法,因此错误:

 searchEmp(2);// here my programme give error
应该是

Employee.searchEmp(2);

使用
ClassName调用静态方法。staticMethod()
静态方法和属性绑定到类。因此,您需要使用
ClassName.methodName
ClassName.propertyName

Employee.searchEmp();