簡體   English   中英

Java:如何使用類名直接調用方法

[英]Java: how it is possible to call method directly using class name

據我所知,只要我們想調用任何方法,就創建對象並使用obj.methodname調用其方法。

但是下面的程序在不創建對象的情況下調用E類的方法。 這怎么可能? 請任何人幫助我理解這個概念。

我的意思是 “從下面的代碼中,如何編寫E.test2(); ,我認為應該是E obj=new E(); obj.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中有很多使用它的類。

參見文檔:

了解實例和類成員

可以使用類名稱調用靜態方法,並且不需要該類的對象。

請閱讀以下內容: http : //introcs.cs.princeton.edu/java/21function/

test2方法在類E中是靜態的,而靜態方法是特定於類的,而不是特定於對象的,並且使用“ classname.methodname”語法進行訪問。 其中methodname是“類名”的靜態方法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM