在static方法的內(nèi)部不能調(diào)用非靜態(tài)方法,反過來倒是可以的。而且可以在沒有創(chuàng)建任何對象的前提下,僅僅通過類本身來調(diào)用static方法。這實際上正是static的用途。他很像全局方法。java中禁止使用全局方法,但你在類中置入static方法就可以訪問其他static方法和static棧。
有些人認(rèn)為static方法不是“面向?qū)ο蟆钡?,因為它們的確具有全局函數(shù)的語法;使用static方法時,由于不存在this,所以不是通過“想對象發(fā)送信息”的方式來完成的。的確,要是在代碼中出現(xiàn)了大量的static方法,就要重新考慮自己的設(shè)計了。然而,static的概念有其適用之處,許多時候都要用到它。至于他是否真的“面向?qū)ο蟆?,就留給理論家去討論吧。事實上,Smalltalk語言里的“類方法”就是與static方法相對應(yīng)的。
新聞熱點
疑難解答