设置反射机制
程序运行期间获取要操作的类对象。
前提条件是反射机制的类对象需要一个无参构造器!!!
获取类对象:Class类的实例:这一步还未实例化
Class cls = String.class;
基本类对象获取类对象的方法只有这一种
Class cls = Class.farName(String className);
要求传入的是对应的类的完全限定名,比如:包名.类名
实例化获取的类对象:这一步已经实例化了
Object obj = cls.newInstance();
正射机制就是除反射机制以外的都是正射机制比如
Class a = new Class();
对比下来的优缺点也很明显:
反射机制缺点:代码相对长一丢丢
反射机制优点:使用起来比正射机制要灵活
Scanner scanner = new Scanner(Systm.in);//获取控制台输入类的实例化
String className = scanner.nextLine();
Class cls = Class.fanrName(className);获取类对象
Object obj = cls.newInstance();实例化获取的类对象
正射机制:程序编译器就将实例化的对象写死
反射机制:在程序运行期间获取实例化的对象
这样简单的实验就可以看出反射机制的优点,可以灵活的选择实例化的对象,而不是正射机制的写死对象
以上总结:
1.获取类对象
2.实例化类对象
Class提供了获取其表示的类中某个特定的方法的操作:
Method getMethod(String methodName,Class...argsType)
参数1:方法名 参数2:实例列表,获取的方法没有参数时可省略
当需要多个方法时可以写三个“.”来实现,三个点一个不能多一个不能少