java參數
㈠ java中參數變數具體是什麼,可以干什麼,有什麼作用,
參數變數就是一個函數要被調用時候,傳進去的那個東西,也叫 形參
留一個可以變化的東西給別人可以根據需要使用,
在JAVA中 參數變數有傳值和傳引用兩種,基本上都是傳引用
㈡ Java帶參數的方法
是青鳥的學生吧,
參數方法很簡單的,
調用方法的時候,參數要與定義方法傳進的參數一致,返回值的類型要一致,
在方法之中用到這個參數就不需要再定義了,
方法可以有參數也可以沒有。
想得到一個結果的話,用有返回類型的方法,
只想要過程的話,用VOID類型,
學校有很多人都蠻強,你可以直接請教他們,那樣不是更好懂?
㈢ java參數是什麼
形參,實參
㈣ java 方法可以傳入多少個參數
java的方法可以動態傳入參數,比如methodA(String... values),它相當於傳進入一個values的數組,因此在你的內存支持的情況下,參數個數可以是無限個的。
㈤ java 參數中含有… 是什麼意思啊
main方法的簽名其實可以這樣寫:
public static void main(String... args)//方法1
它也可以運行.
並且,如果同時還存在
public static void main(String[] args)//方法2
會報已經存在重復的方法的錯誤.
由此可見,String... args跟String[] args對於虛擬機來說其實是一回事.
而且,在方法內,通過...傳進來的參數的使用方法也跟一個數組完全無二,可以for循環,甚至可以直接轉換:
public static void main(String... args)
{
String[] ss=args;
}
但對於程序員來說卻還是有差別的.
1.調用
我們只能這樣調用方法2:
main(new String[]{});
即,方法2隻能接受String數組做參數.
而我們陌生的方法1可強了,用以下參數調用,照單全收:
main();
main(null);
main(null,null);
main(null,null,null);
......
main("a");
main("a","b");
main("a","b","c");
......
main(new String[]{});
(String...匹配String*,而null也可以是一個特殊的String)
2.參數位置
使用...的參數只能是最後一個參數.不然誰知道你調用的時候,點點點匹配到哪個實參?
public static void main(String[] args,int index)//可以
public static void main(String... args,int index)//不行!
3.重載
假設有以下兩個方法:
public static void main(String... args)//方法1
public static void main(String a,String... args)//方法3
從語法上來看,這個重載完全沒有錯誤,eclipse也沒有報錯.但是當調用時使用的參數個數大於這些方法中點點點參數前面的參數個數時,eclipse就會發現這個錯誤了.很拗口是不是?嘿嘿~還是舉例來說吧.以上這兩個方法,如果調用時
main();
編譯器會認出這個調用的是方法1.但是如果調用時
main("");
編譯器就瘋了...因為一個String參數,既符合方法1的點點點,也符合方法3的String+點點點,編譯器就不知道調用的是哪個方法了.
String[]參數不會有這種問題.
所以重載時要注意,如果點點點參數前面有跟它類型相同的參數...最好的方法,似乎就是換回數組形式了,要麼就給方法改個名字吧.
4.遇上泛型加外包
用個實例來說
java.util.Arrays是個工具類,所有方法都是靜態的,對數組的操作.裡面有個方法asList(T... args),用來把類型T的數組轉化成List<T>.
這是個很有用的方法,在絕大多數情況下都能如你所願.
但是,你可以試試下面的寫法
int[] is=...//自定義的數組,或者從什麼地方獲取來的數組
List<Integer> list=Arrays.asList(is);
很不幸,不要說執行,編譯都通不過.錯誤的意思大概是:
不能將List<int[]>轉化成List<Integer>
明白了吧?
你的設想是,把int[]中的每一個元素對應T...中的每一個點,
可編譯器不這么想.因為int是原始類型,不是Object的子類.而泛型T隱含的條件是T extends Object.所以編譯器不會把每一個int看做T,不會把int[]看做T點點點.雖然java已經支持自動將原始類型封包成外包類,但那是單個的情況.
而數組(不管什麼類型)則是一種特殊的類型,是Object的子類,所以編譯器覺得整個int[]對應一個T,你調用的方法是asList<int[]>(int[]... args)而不是你想像中的asList<Integer>(Integer...)
㈥ java 定義可選參數
當然可以,不過當你調用A方法的時候,傳入的參數一定要和A方法中的參數個數以及類型相同即可……
在java中是不可以像你說的那樣的……
不然會報找不到該方法的錯誤……
㈦ java里參數的作用
設置了這個參數,那麼你調用它的時候就可以傳遞進去,像你給的例子中s.speek("i
am
a
student");中i
am
a
student就是傳過去的參數,好比string
sentence
=
"i
am
a
student";
㈧ java 方法參數的問題
通俗點說:小括弧內的參數是在調用這個方法時,需要給這個方法傳入的參數,用於給此方調用.比如說,有些方法是需要調用者傳參,方法才能對參數進行操作!
㈨ 請問什麼是Java中的參數。
首先你得知道什麼是方法吧,要是這個不懂,那下面我說的估計你也不會明白了,就直接無視吧。
例如我自己寫一個方法,比如說這個方法屬於test類,像這樣
public static void myMethod(String str) {
System.out.println(str);
}
在我調用這個方法的時候,我就需要傳遞一個參數給這個方法,比如這樣。
test.myMethod("let's do it");
那麼這個"let's do it"就是參數,如果你想要用myMethod這個方法,必須要給一個string型的參數,不然編譯器就不會讓你通過,你的代碼會報錯的。參數作用無非是將你需要用的東西傳遞給方法,在方法裡面處理這個參數,比如說你要輸出,或者要在方法裡面做四則運算等等。
這個問題其實不好說,因為實在是很簡單,但是要說明這個問題就會引出一大堆問題,什麼是方法,什麼是類,static是什麼,void是幹啥的,這玩意我解釋不起,我只能盡我所能簡單說說。如果你要真想學java,先找本書看看吧,我覺得你可能沒看過哪怕是一本java基礎的書,要不然也不會問這個問題。
㈩ java方法參數
樓上說得不對,Integer 繼承 java.lang.Number , Number 實現了 java.io.Serializable
范性的問題 Class<Object> 你傳入的只能是 Object.class
把介面方法改成
public Object findByPrimarykey(Class<? extends Object> objectClass, Serializable pk);
或者
public Object findByPrimarykey(Class<?> objectClass, Serializable pk);