**
一、JAVA反射机制
**
重点:
1、掌握Class类对象 java.lang包
2、java语言的反射机制
获得class反射对象:
1、由对象得到
new Name().getclass();
2、由包路径 类名找 重点
Class.forName(“路径”); //(“类名”)
3、直接由类名反射出来
类名.class ---->反射一个class对象
通过Class类描述创建Object:
有Class对象,能new对象。通过反射机制,创建对象 XX.newInstance();
先下转型,获得对象的详细信息:
获得类中详细信息(属性 方法)
属性 XX.getdDeclaredFields(); // 返回一个属性数组 Field[]
方法 XX.getDeclaredMethods(); //只有你声明的 没有构造方法
方法 XX.getMethods(); //继承的方法也会显示(全部的方法)
找方法,获得对象的方法:
找到类中的方法
1、循环所有 依据名字和参数找方法
2、通过方法名和参数类型 就一定能定位方法
Object.getDeclaredMethod(“方法名”,参数:int.class); /查不出构造方法
获得构造方法
Constructor con[]=XX.getConstructors();---->返回构造方法数组
通过构造方法创建对象
con[1].newInstancel(参数);
附:
构造方法私有化---->不能new对象
让一个类只能new一个对象----->单例模式 java实现
**
附加:
**
一、什么是反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。简单的来说,反射机制指的是程序在运行时能够获取到自身的一些信息,在java中,只要给定类的名字,那么就可以通过反射机制来获取类的所有相关信息。