java反射详解

来源:互联网 发布:csgo 淘宝版 编辑:程序博客网 时间:2024/06/06 10:38
一   反射的概念
   在java中的反射机制是指在运行状态中,对任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,
都能调用它的任意一个方法;这种动态获取信息以及动态调用对象的功能称为java语言的反射机制
二    java反射可以实现的功能
     在运行时判断任意一个对象所属的类
     在运行时调用任意一个对象的方法
     在运行时构造任意一个类的对象
     在运行时判断任意一个类所具有的方法和属性
     生成动态代理
三    java反射应用场合
      java程序中许多对象在运行时都会出现两种类型   :(编译时类型)和(运行时类型)
编译时的类型由声明该对象时使用的类型决定,运行时的类型由实际赋给该对象的类型决定
如:  Person p=new Student();      (前面是编译 ):(后面是运行时)

四  java的反射包
      java.lang.reflect
               class类     反射的核心类,可以获取类的属性 方法等内容信息
                Field      表示类的属性,可以获取和设置类中属性的值
                Method  表示类的方法,它可以用来获取类中方法的信息,或者执行方法
                Costructor   表示类的构造方法
五  反射的使用
    java.lang.reflect
       1 获得想操作的类的java.lang.Class对象
        2 调用Class的方法
        3 使用反射API来操作这些信息
    1.1   调用某个对象的getClass()  方法
            Person p=new Person();
            Class cla=p.getClass();
    1.2 调用某个类的class属性来获取该类对应的class对象
           Class cla=Person.class;
    1.3 使用Class类的forName()静态方法
            Class cla=Class.forName("包名.Person");
 类的方法
    1 int getModifiers()     返回此类的接口的所有修饰符
    2  Class[] getinterfaces()    返回该Class对象对应类所实现的全部接口
    3  Package  getPackage()   获取此类的包

0 0
原创粉丝点击