面向對象三要素:封裝、多態、繼承。java
形參,簡單來講就是函數頭上括號裏的參數,其做用範圍僅僅在本函數以內。函數
而實參是調用函數時給形參傳值的那些參數,其必須給賦初值(或者經過輸入等方式)。spa
-------------------------------------------------------百科中的解釋(有修改)------------------------------------------------------------
實參(argument):
全稱爲"實際參數"是在調用時傳遞給函數的參數. 實參能夠是常量、變量、表達式、函數等, 不管實參是何種類型的量,在進行函數調用時,它們都必須具備肯定的值, 以便把這些值傳送給形參。 所以應預先用賦值,輸入等辦法使實參得到肯定值。
形參(parameter):
全稱爲"形式參數" 因爲它不是實際存在變量,因此又稱虛擬變量。是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數.在調用函數時,實參將賦值給形參。於是,必須注意實參的個數,類型應與形參一一對應,而且實參必需要有肯定的值。
java中有些內置方法須要實際參數,用來提供給方法,讓方法用這些值來作咱們須要的「事」,好比若是計算三角函數 的值,就必須提供一個你打算計算的角度,好比50.08°,等,這個double類型的值就能夠成爲這個求三角函數方法的實際參數。至於形式參數,能夠理解爲自變量,好比咱們一般說的x。無論這個x的值是45°仍是60°,咱們寫的這個求三角函數的方法均可以把他算出來,
對於下面這個方法:
- Public static void showTwice(String p)
- {
- System.out.println(p);
- System.out.println(p);
- }
這個方法中的p就是一個形式參數的變量名,咱們寫這個方法時根本不知道p的實際值是什麼,可是這個方法都會將這個值輸出到屏幕兩次。
爲了調用這個方法,咱們在main方法中寫以下代碼:
- Public static void main(String[] args)
- {
- showTwice("conquer it");
- }
對比可知,"conquer it " 這個字符串就是實際參數給了showTwice方法,完成了這個方法的一個實際調用,爲了再完成一個說明。能夠把上面這個調用寫成以下:
- Public static void main(String[] args)
- {
- String p1="conquer it";
- showTwice(p1);
- }
這裏,p1就只是起一個替代「conquer it」的做用。相對於形式參數的變量名p,做爲實際參數傳入的變量名p1不起任何做用。
實參和形參的區別:
1.英文名字不一樣,這個上面我已經標註了,看英語教材的朋友能夠參考下
2..本質不一樣:形參的本質是一個名字,不佔用內存空間。實參的本質是一個變量,已經佔用內存空間。
3.在調試的時候,parameter就轉變成argument,這時也每每不使用argument一詞,而是稱之爲variable(變量),由於實參本質上就是一個變量,在內存中佔用一塊空間。