• java 反射基本认识


    java 反射基本认识

    最近重新复习java反射的知识,有了新的理解。

    class类?

    在面向对象中,万事万物皆对象。类也是个对象,是java.lang.class类的实例对象。

    public class ClassDemol {
     public static void main(String arg[]){
         //创建了Person 类的实例对象
         // 如何创建Person 类的类对象
         Person person = new pserson();
         //有三种方法表示
         //第一种
         Class c1 = Person.class;
         //第二种
          Class c2 = person.getClass();
          // 第三种
          Class.fromName("java.xx.xx");
     }
    }
    
    class Person{}
    

    java 静态加载类和动态加载类

    • 在编译时期,会加载需要使用所有的类,成为静态加载类。比如 new 创建对象,那么该类在编译时期,就需要加载。
    • 在运行时期,会加载需要使用所有的类,成为动态加载类。比如 class 类对象的NewInstance()方法创建某个类的对象,再运行时期,需要加载。

    class类的方法

     // 获取类类型
     class c = obj.getClass();
     //获取类的名称
     c.getName();
     //获取类的自身public 方法以及继承的public 方法
     Method[] ms= c.getMethod();
     //获取类的自身public 方法以及继承的public 方法
     Method[] ms= c.getMethods();
     //获取类的自身所有方法
     Method[] ms= c.getDeclareMethods();
     //获取类的某个方法返回类型的类型
     Class returntype =  ms[i].getReturnType();
     //获取类的某个方法参数类型的类型
     Class paramtype =  ms[i].getParamType();
    

    方法反射

    //获取相应的方法类类型
    Method m = c.getMethod("printf",int.class,int.class);
    //方法调用,可以调到相应的方法
    m.invoke(c,19,19);

  • 相关阅读:
    结婚也可以2.0!
    最近读书清单
    Win7旗舰版中的IIS配置asp.net的运行环境
    Google Chrome浏览器
    MySQL到NoSQL:数据的重思和查询方式的转换
    sqlserver游标概念与实例全面解说
    高效管理ASP.NET的JavaScript库
    如何提取网页中的flash
    如何手动启动tomcat
    tomcat单词缩写
  • 原文地址:https://www.cnblogs.com/Lollipop_Hsu/p/11471219.html
Copyright © 2020-2023  润新知