Java是一種強(qiáng)類型語言,它有許多語法規(guī)則以及特殊的函數(shù)類型,其中就包括靜態(tài)和非靜態(tài)方法。
靜態(tài)方法是可以從類中直接訪問,并且可以在實(shí)例化任何對象之前使用。靜態(tài)方法在類被加載時(shí)就已經(jīng)被編譯并綁定到類中了。例如:
public class MyClass { public static int myStaticMethod(int a, int b) { return a + b; } } int myResult = MyClass.myStaticMethod(2, 3);
這里我們定義了一個(gè)靜態(tài)方法myStaticMethod,它接收兩個(gè)整數(shù)作為參數(shù),并返回它們的和。使用類名直接調(diào)用該方法,如MyClass.myStaticMethod(2, 3)。
相反,非靜態(tài)方法是與實(shí)例對象相關(guān)聯(lián)的方法,必須在類被實(shí)例化之后才能使用。非靜態(tài)方法只有在該類實(shí)例化后才會被編譯并綁定到該實(shí)例中。例如:
public class MyClass { public int myNonStaticMethod(int a, int b) { return a + b; } } MyClass myClassInstance = new MyClass(); int myResult = myClassInstance.myNonStaticMethod(2, 3);
這里我們定義了一個(gè)非靜態(tài)方法myNonStaticMethod,它接收兩個(gè)整數(shù)作為參數(shù),并返回它們的和。我們先實(shí)例化MyClass類,然后使用實(shí)例對象調(diào)用該方法,如myClassInstance.myNonStaticMethod(2, 3)。
總之,靜態(tài)方法和非靜態(tài)方法都是強(qiáng)大的Java函數(shù)類型,在不同的場景下具有不同的實(shí)用性。