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的事儿,跟外面的实参没有关系
如何才能操作到外面的实参呢,,,根据传过来的对象本身的方法来改变
就是我改变这块儿内存区域里面的东西,就改了