java 實參和形參的區別
打個比方:方法就像城門,而形參則規定了什麼人可以通過(對方法來說就是調用).城門張貼了通行規定:1、男性能通過,女性不可以(類似於條件1)2、必須是活人(死人類似於方法中傳入null)。根據此規定,如果是活的男人的話,無論是大人小孩青年老人病人、爺爺兒子孫子兄弟都可以進入此門(甚至公狗也可以),任何非男性生物均不能通過。反應到方法上來,比如有這樣一個方法:public void doSometing(Object obj),Object相當於所有物體,在方法中進行判斷此物體是否為雄性類似於張貼通行規定並審核之.因為你不確定到底是什麼將進城門(也就是執行這個方法),所以不能使用確切的參數,那麼就使用一個大家都符合的參數傳進來,至於到底能不能通過則根據這個的情況具體判定.根據此方法,男人女人都屬於人,所以Object對象obj也就是人,這個是形參,因為此時到底是男人使用此方法還是女人使用此方法未知,是大人還是小孩還是老人使用此方法未知,"人"(obj)僅僅是一個概念上的東西.而到了實際情況發生時,比如一個小男孩要進城門,那麼要根據規定進行審核,也就是方法中的doSometing,小男孩將自己作為一個條件交給審核的方法,這時的小男孩就是實參.
形參和實參有以下顯著的區別: 1、形參不能離開方法。形參隻有在方法內才會發生作用,也隻有在方法中使用,不會在方法外可見。而實參可以再程序的任何地方都使用。 2、形參代表一個合集,具有不確定性,而形參代表一個獨立事物,具有確定性(即使是為null)。也就是說,形參不能代表具體的對象,隻能代表這些對象共同的屬性(比如超類、各種其他自定義屬性等等),而實參則是具體的對象(比如超類的實例)。 3、形參的值在調用時根據調用者更改,實參則用自身的值更改形參的值(指針、引用皆在此列)、用通俗的話來說,形參告訴你什麼樣的東西才能用它,就好像一個聲明、公告或者通則;而實參則是告訴你我在用它,就像一個實幹家
|
最後更新:2017-04-02 22:16:31