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(); } } }