zoukankan      html  css  js  c++  java
  • Java反射

    • 应用
    1. 配置:类的全限定名,方法和参数,完成对象的初始化(构建对象)
    2. 反射:某些类中方法(方法的反射调用)。等........(SpringIOC是通过反射实现的)
    • 核心包:通过java.lang.reflect.*包来实现的
    • 实例
     1 //假设一个user类中包含一个say方法,方法入参为String类型
     2 public Object getInstance(){
     3     User user=null;
     4    try{
     5       //反射生成对象
     6       user=(User)Class.forName("com.pojo.User").newInstance();
     7       //反射调度方法
     8       Method method=user.getClass().getMethod("say",String.class);
     9       method.invoke(user,"你好");
    10    }catch(............){
    11           //抛出异常............
    12    }
    13     return user;
    14 }
    View Code
    • 注:
    1. forName:加载到类的加载器
    2. newInstance():该方法生成对象
    3. getConstructor():该方法定义参数类型
    • 好处:增强了Java的可配置性和可扩展性,解除程序的耦合度,灵活
    • 缺点:运行慢
  • 相关阅读:
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
    LeetCode OJ
  • 原文地址:https://www.cnblogs.com/LJing21/p/10508262.html
Copyright © 2011-2022 走看看