在上一篇文章Java:源码分析—反射(实例化对象:newInstance)中我们了解了反射进行对象实例化的过程,既然对象有了,我们就要使用它,对于一个对象,我们最常用的就是方法和属性里,所以这一篇我们就来看看反射中的Method和Field。
在Class.java文件的代码中,比较常用的关于方法和属性的是getMethods、getDeclaredMethods、getFields、getDeclaredFields。我们在前面文章中提到过,带有Declared返回的是属于自己的,不包含父类和接口的信息。
我们继续使用Java:源码分析—反射(实例化对象:newInstance)准备的两个类做测试,看看上面四个方法的结果是什么。
try {
Class<?> obj = Class.forName("com.myweb.demo.TempChild");
Object temp = obj.newInstance();
Method[] methods = obj.getDeclaredMethods();
System.out.println("--------------------getDeclaredMethods--------------------");
for (Method method : methods){
System.out.println(method.toString());
}
methods = obj.getMethods();
System.out.println("-