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

时间:2012-12-07 16:47:31

标签: 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[]) {
     searchEmp(2);// here my programme give error
   }
}

我想从类测试中调用属于Employee的searchEmp(),但它会出错。请建议任何没有继承的解决方案。

3 个答案:

答案 0 :(得分:6)

您必须致电Employee.searchEmp()

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

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

答案 1 :(得分:2)

静态方法和属性绑定到。因此,您需要使用ClassName.methodNameClassName.propertyName

Employee.searchEmp();

答案 2 :(得分:1)

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

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

应该是

Employee.searchEmp(2);

使用ClassName.staticMethod()

调用静态方法