反射:获取Class类对象

1、反射概述

  • 反射是指对于任何一个Class类,在"运行的时候"都可以直接得到这个类全部成分。
  • 在运行时,可以直接得到这个类的构造器对象:Constructor
  • 在运行时。可以直接得到这个类的成员变量对象:Field
  • 在运行时,可以直接得到这个类的成员方法对象:Method
  • 这种运行时动态获取类信息以及动态调用类中成分的能力称为Java语言的反射机制

2、反射的关键:

  • 反射的第一步都是先得到编译后的Class类对象,然后就可以得到Class的全部成分。
  • HelloWorld.java   ->    javac    ->    HelloWorld.class
  • Class    c  =   HelloWorld.class

3、反射的基本作用、关键?

  • 反射是在运行时获取类的 字节码文件对象 :然后可以解析类中的全部成分。
  • 反射的核心思想和关键就是:得到编译以后的class文件对象。

4、反射获取类对象

5、反射的第一步是什么?

  • 获取Class类对象,如此才可以解析类的全部成分

6、获取Class类的对象的三种方式

  • 方式一:Class c1 = Class.forName(”全类名“)
  • 方式二:Class c2 = 类名.class
  • 方式三:Class c3 = 对象.getClass()
package com.csdn.reflect_class;
/**
 * 目标:反射的第一步:获取Class对象
 */
public class ReflectObject{
    public static void main(String[] args) throws ClassNotFoundException {
        //1、Class类中的一个静态方法:forName(全限定:包名加类名)
        Class c = Class.forName("com.csdn.reflect_class.ReflectObject");
        System.out.println(c);//class com.csdn.reflect_class.ReflectObject

        //2、类名.class
        Class c1 = ReflectObject.class;
        System.out.println(c1);//class com.csdn.reflect_class.ReflectObject

        //3、对象.getClass()获取对象对应类的Class对象
        ReflectObject ro = new ReflectObject();
        Class c2 = ro.getClass();
        System.out.println(c2);//class com.csdn.reflect_class.ReflectObject
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值