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();