2015-01-06 36 views
-4

我想知道調用類方法調用實例方法之間的區別嗎?對類方法的調用和對實例方法的調用之間有什麼區別?

是不是一個類的方法是這樣的:

identifier(); 

和實例方法,如:

object.identifier(); 

糾正我,如果我錯了。

+0

根據具體情況,您可以同時調用靜態方法和實例方法。 –

+0

[靜態方法和實例方法之間的差異]的可能重複(http://stackoverflow.com/questions/11993077/difference-between-static-methods-and-instance-methods) – vitfo

回答

0

簡單來說,一個class method(「靜態方法」)是一個WHOLE類的屬性,所以它的名爲className.methodName()

instance methods,則每個對象都有自己的這些副本,所以他們r稱爲objectName.instanceMethodName().

第二個區別:

  • 類( 「靜態」)方法可以訪問只有靜態字段
  • 但實例方法可以訪問該類的任何字段。

第三位先進,區別是類(Static) methods are bound to the class at compile time,而instance methods are bound to their objects at run time ..

2

(我想,你的意思是.();是像myClassInstance.myMethod();如果爲真,則:)

類方法是static方法,它可以被稱爲加載類。他們不需要調用該類的實例。假定您創建這樣的一個類:

class MyClass { 
    public static void classMethod() { 
     /* Something to do (statically) here */ 
    } 
    public void instanceMethod() { 
     /* Some thing to do here */ 
    } 

正如你所看到的,一旦你輸入你的類在你的工作區,你可以調用靜態(類)方法,像這樣:

MyClass.classMethod(); 

但不是實例方法,調用實例方法所需要的類的實例被調用,像這樣:

MyClass mc = new MyClass(); 
mc.instanceMethod(); 

還要注意,你只能static作品在(!)方法。像改變靜態變量或調用靜態函數一樣。 這個答案也可以幫助。 Difference between Static methods and Instance methods

相關問題