反射
程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言
反射机制发生在运行状态中,对于任意一个类,都能知道\调用这个类的所有属性和方法
很多框架都是通过反射完成的
Java反射机制,可以实现以下功能:
①在运行时判断任意一个对象所属的类;
②在运行时构造任意一个类的对象;
③在运行时判断任意一个类所具有的成员变量和方法;
④在运行时调用任意一个对象的方法;
⑤生成动态代理;
可变参数
当确定参数类型而无法确定参数个数时,可使用可变参数.
可变代表个数可变 [0,+)
如果一个方法中带有可变参数,这个可变参数只能在参数列表最后位.
获取源头Class
所有类的对象其实都是Class的实例
获取类的Class对象的三种方式
- Class.forName(”包名.类名”) //一般尽量采用该形式
Class<?> c1=Class.forName("类所在路径" );
System.out.println(c1.getName()