Java:如何使用类名直接调用方法

时间:2013-11-28 04:28:37

标签: java

据我所知,每当我们想要调用任何方法时,我们都会创建对象并使用obj.methodname调用其方法。

但是在程序之下调用E类的方法而不创建对象。这怎么可能?请任何人帮我理解这个概念。

我的意思是'从下面的代码中,如何编写E.test2();? ,我认为它应该是E obj=new E(); obj.test2();

    class E
{
    int i;
    static int j;

    void test1()
    {
        System.out.println("From test1");
    }
    static void test2()
    {
        System.out.println("From test2");
    }
}

class F extends E
{
    int m;
    static int n; 
    void test3()
    {
        System.out.println("From test3");
    }
    static void test4()
    {
        System.out.println("From test4");
    }
}

public class G {
    public static void main(String args[])
    {
        E.test2();
        F.test2();
    }
}  

3 个答案:

答案 0 :(得分:2)

方法E.test2声明为static,这意味着您可以使用此方法而无需创建该类的实例。 Java中有很多类使用它。

参见文档:

Understanding Instance and Class Members

答案 1 :(得分:1)

可以使用类名调用静态方法,并且不需要该类的对象。

请阅读:http://introcs.cs.princeton.edu/java/21function/

答案 2 :(得分:1)

test2方法在E类中是静态的,静态方法是特定于类的,而不是特定于对象的,并且使用“classname.methodname”语法访问它们。 其中methodname是“classname”的静态方法