17Java进阶——反射、进程、Java11新特性
1.Java反射机制
Java反射(Reflection)概念:在运行时动态获取类的信息以及动态调用对象方法的功能。
1.1反射的应用——通过全类名获取类对象及其方法
package two.reflection;
import java.util.Scanner;
import java.lang.reflect.Method;
public class Test1 {
}
class TestRef {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个Java类全名:");
String cName = input.next();
showMethods(cName);
}
public static void showMethods(String name) {
try {
//使用Class.forName()获得Class对象
//Class类存在于java.lang.Class
Class c = Class.forName(name);
//获得该类声明的方法,返回一个Method集合
//Method类位于java.lang.reflect包下
Method m[] = c.getDeclaredMethods();
System.out.print("该Java类的方法有:");
for (int i = 0; i < m.length; i++) {
//将方法名、修饰符、参数列表输出
System.out.println(m[i].toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}


