1,类的执行过程
2,反射Reflection
在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;
并且对于任意一个对象,都能够调用它的任意一个方法;
这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。
3,Class类
(1)获取Class对象
通过Class类的静态方法:Class class=Class.forName(className);
调用对象实例的getClass()方法;
(2)调用属性:
getFields()--可访问的公共字段
getDeclaredFields()--可访问所有字段
getField(String name)--返回一个特定的公共字段对象
(3)获取方法:
getMethods()--所有公共方法,包括从超类和超接口继承的声明
getDeclaredMethods()--所有方法,包括公共,保护,默认和私有方法,但是不包括继承的方法
getMethod(String name,Class[]parameterTypes)--返回一个方法对象
注:以下重点
①获取构造方法:getConstructor(Class[]parameterTypes)--返回一个构造方法对象
②通过Constructor-newInstance(Object[]initargs)--可以生成类的实例
③通过Method-invoke(Object obj,obj[] args),可以在具有指定参数的方法对象上调用此方法对象表示的基础方法
4 举例