我们都知道,Java中对于基本数据类型作为方法参数时,都是值传递。 那么对象作为方法的参数,又是传递的什么呢? java的方法参数都是传值,没有传引用。很多人都以为是传引用,而且这种错误的观点很普遍,今天在这里具体分析一下。方法参数有基本类型,如int
于是 自己就按照例子 写了一个,代码如下:
1、使用类
public class TestReflex {
public static void main(String[] args) {
// TODO Auto-generated method stub
TestMethod tmd = new TestMethod();
System.out.println(tmd.getInvok("getNeedMethod"));
}
}
2、方法类
import java.lang.reflect.Method;
public class TestMethod {
@SuppressWarnings("unchecked")
public String getInvok(String methodName){
TestMethod tmd = new TestMethod();
Class bean = TestMethod.class;
String str = new String();
try {
Method md = bean.getMethod(methodName, null);
str = (String) md.invoke(tmd, null);
} catch (Exception e) {
e.printStackTrace();
}
return str;
}
public String getNeedMethod(){
String str = "获取到这个方法 测试反射";
return str;
}
}
3、问题:
不太理解反射会带来什么好处??
也不太明白上面这样的方式的好处在那里,不想不明不白的去只知道,而不懂原理
有人可以解释下?????