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

标签 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();
    }
}  

最佳答案

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

查看文档:

Understanding Instance and Class Members

关于Java:如何直接使用类名调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20257721/

相关文章:

java - JavaFX制作窗口中的JOptionPane 'Not Respond'

java - 如何在本地网页(在我的 PC 上)上使用 Selenium WebDriver 而不是位于在线某处的网页?

java - 使球弹跳停止

Java - 可运行的线程未启动

JavaFX Canvas -绘图

Java新手: Difference between <> and ()?

java - 我应该如何将 POJO 表示写入 RandomAccessFile?

java - 无法使用 try-catch 捕获 Java (Android) 异常

java - 请协助 Android list

java - 使用 ScheduledExecutorService,如何启动一个线程而不等待其他线程以固定时间间隔完成?