1. c++這個靜態成員函數的形參是引用吧那調用時怎麼調用實參又是什麼
形參是引用.
靜態成員函數不屬於類的對象,它是類的屬性,即使沒有創建類的對象,靜態函數成員也存在,並且不能聲明為const,因為它與類的對象無關,它沒有this 指針.
調用方法: 類名稱::靜態成員函數名稱(參數)
實參就是一個類的對象.
2. java泛型問題:我能理解為什麼類型參數不能用於靜態欄位,但不理解為何在靜態方法中也不能引用類型參數
這個原理是這樣的,靜態方法中所能引用的屬性必須是靜態的,而引用參數是無法聲明為靜態的,因為靜態的屬性必須在聲明時赴值或者實例化,泛型引用變數在聲明的時候根本不知道是什麼類型,自然不可能實例化,當然也不能放進靜態方法了,手機碼字,求支持。不懂加qq詳說
3. 什麼是形參
就是「形式參數」是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
在調用函數時,給形參分配存儲單元,實參可以是常量、變數或者表達式,且要與形參類型一致!而且實參要有確定的值,在調用過程中實參將值賦給形參,並將實際參數對應的數值傳遞給形式參數;
自定義函數中的「形參」全稱為"形式參數" 由於它不是實際存在變數,所以又稱虛擬變數。實參和形參可以重名。是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數.
(3)靜態方法中的形參怎麼理解擴展閱讀:
形參和實參的特點
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4. java中形參是什麼意思
形參,即形式參數,是在定義函數中指定的,如public static void Test(boolean b){......}括弧中的b即為Test的形參.形參在未出現函數調用的時候時,並不佔內存中的儲存單元,只有發生函數調用時,形參才被分配內存單元.在調用結束後,形參所佔的內存單元也被釋放.
實參,即實際參數,它可以是常量,變數或表達式,但要求它們有確定的值,在調用時將實參的值賦給形參.如調用剛才的Test函數時,Test(True),這里的True就是實參,又如boolen i = true;Test(i),這里的i就是實參.
實參與形參的類型應相同或賦值相同
5. Java中,為什麼靜態方法不能使用類型形參
所為程序,是接順序一句一句的執行。所以,我們來看這段代碼。main方法,程序的入口,擁有a,b兩個局部變數。a,b變數值分別為10,20。下一句調用add靜態方法,add方法有兩個形參a,b,main方法調用add方法時為形參a傳值為10,為形參b傳值為20。進入add方法,add方法中下一句又為參數a重新賦值為30,此時a的值會變為30。為參數b重新賦值為70,此時b的值變為70。下一句定義一個局部變數sum,sum值為a,b相加為100。下一句列印sum變數值,到此,add方法結束回到main方法。下一句是列印變數a的值,在main方法中a值為10,所以列印10。下一句列印b變數值,在main方法中b的值是20,所以打20。
由於add是靜態方法,所以,可以直接用類名.方法名調用。
主方法是程序的入口,是jvm執行程序時所必須的方法。
6. java里不是說靜態方法靜態代碼塊靜態變數里不允許用類型形參嗎,為什麼這個靜態方法使用了類型形參
你不想定義全局變數還想讓局部互用。只能把要調用的局部變數。作為參數傳到令一個子函數裡面。如果變數太多。那麼。建議還是全局把。 靜態局部變數時不可取的。他只是把變數定義在全局存儲區。但是作用域還是本身這個函數。。。 只能用全局或者參數方法。 全局我不說了。參數方法如下。 void fun1() { int ia=0; int ib=0; void fun2(&ia,&ib); } void fun2(int ,int ); { } 額樓下說的結構體。或者類的方法也是可取的。當然結構體和類本質上市類似的。裡面的變數都可以在任何他的成員函數中使用。