關於靜態方法的Tips:
class A
{
public static void function()
]
class B extends A{
public static void function()
}
如果聲明爲A a = new B();
a.function();它調用的事A的方法,而不是重寫過的B的方法,
只有聲明爲
B a = new B();
a.function()纔會調用B中的foo方法,也就是靜態方法不支持重寫
一個類的方法從調用方式上可以分爲“靜態方法”與“非靜態方法”(實例方法)。
一個類型加載的時候,該類的所有的方法都會被加載,不管是不是靜態的.
靜態方法是與類相關的,非靜態是與實例相關的。
如果某些操作不依賴具體實例,那它就可以說靜態的,反之如果某些操作是依賴具體實例的,那它就應該是實例化的。