java傳
❶ java中 invoke()如何傳實體進去
你問的是Method類的invoke方法吧
這個方法的定義是:invoke(Object obj,Object...args)
第一個參數為類的實例,第二個參數為相應函數中的參數
你的問題里說如何傳實體進去,很簡單,你定義的方法只要寫了接收參數(數量無所謂),那麼直接(弄成數組)傳進去就是了。
以下是一個例子:
public class Test
{
public void print(String string)
{
System.out.println("print(String string)");
System.out.println(string);
}
public void print(String ... strings)
{
System.out.println("print(String ... string)");
for(String string: strings)
System.out.println(string);
}
public static void main(String[] args) throws Exception
{
Test test = new Test();
// 調用 print(String string)
Method method1 = test.getClass().getMethod("print", String.class);
method1.invoke(test, "a");
// 調用 print(String ... strings)
Method method2 = test.getClass().getMethod("print", Array.newInstance(String.class, 0).getClass());
method2.invoke(test, new String[][]{new String[]{"a", "b"}});
}
}
❷ JAVA基礎問題,到底是值傳遞還是引用傳遞
java中方法參數傳遞方式是按值傳遞。所謂值傳遞,就是將實際參數值的副本(復製品)傳入方法內,而自己本身不會受到任何影響。
如果參數是基本類型,傳遞的是基本類型的字面量值的拷貝。
❸ java 方法 傳參
要是想傳字面量的話 就這樣
public class D {
public static void main(String[] args) throws Exception {
byte a = 45;
t(a);
t((byte)45);
}
public static void t(byte a) {
System.out.println(a);
}
}
正確的傳參方式
❹ java 代碼中的參數傳遞
1.
swap(intobj_a,intobj_b); 調用了public static void swap (interger x , interger y ) 這個方法
說明,Integer雖然是int的封裝類型,而且java本身的裝箱拆箱可以讓他用起來像是一個一樣,但是他們還是不同的東西,還是有區分滴
2.
方法體里的內容是將x,y的值進行交換,也許你會想著,既然是對象進行傳遞,那就是引用傳遞咯,引用傳遞的話……,想的無比之遙遠,不好意思,x,y交換以後intobj_a,intobj_b的值不變,
x,y分別是另外兩個變數而已,他們分別拿的是實參的存儲地址而已
你吧x的地址給了temp,x拿了y的地址,y拿了temp的地址
那時x,y的事兒,跟外面的實參沒有關系
如何才能操作到外面的實參呢,,,根據傳過來的對象本身的方法來改變
就是我改變這塊兒內存區域裡面的東西,就改了