反射

女生的网名这么多〃 提交于 2019-12-05 04:57:40

反射

1.含义:

  Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。

2.反射的优点:

  反射提高了程序的灵活性和扩展性,降低耦合性,提高自适应能力

3.反射的缺点:

  炫耀通过动态的接入方法或者字段,这样会比直接的操作相对慢一些,所以会造成性能上偏慢的问题。

4.反射的三大作用:

  4.1.动态获取类对象的三种方式:

     1.Class.forName("全路径名");                                                                          ->使用情况:  jdbc/自定义mvc框架调用

     2.类名.class                                                                                                      -> 使用情况:结合泛型做通用分页查询方法会用
       3.类java.lang.Class(实例的类)实例(Student.class)的类实例getClass()获取     ->使用情况:通用的增删改结合泛型使用

  4.2通过反射对对象实例化

     一般情况:使用关键字(new)进行实例化 

     反射:通过调用java.lang.reflect.construct中的newInstance()方法来实例化对象  

  4.3动态调用方法(Method),属性(Filed),构造器( Constructor)

      

public static void main(String[] args) throws Exception {

    Class clazz = Class.forName("com.itcase.test.Student");
    Method method= clazz.getDeclaredMethod("add", String.class);
    m.invoke(Studnet, "张三");
}
public static void main(String[] args) throws Exception {

    Class clazz = Class.forName("com.itcase.test.Student");
    Filed filed= clazz.getDeclaredFiled();

}
public static void main(String[] args) throws Exception {

    Class clazz = Class.forName("com.itcase.test.Student");
    Constructor constructor= clazz.getDeclaredConstructor();
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!