对java反射的理解

反射 :java灵魂助手

1.反射 :把java类的各个组成部分封装为其他的类,这就是反射机制
a:好处:1.可以在程序运行过程中,对类对象进行操作 2.解耦合,提高程序的扩展性

例子:诸多idea的代码提示功能就是通过反射实现的

过程:以String对象为例,当我们定义一个String对象 String str = “”;

我们调用str. 的时候就会出现一堆的方法提示

分析:假设有类 public class student{

private String name;

private String age;

public void get name(){

}

public void getage(){

}

public student(){

}

public student (String name,String age){

}

}

在java编译器里有一个类叫做类加载器ClassLoader 它会把student.class文件里的成员变量,成员方法,构造方法进行分开,并且建立成员变量数组Fieled[] fieleds存储成员变量 ,建立Construc[] constructs存储构造器,建立Method[] methods存储成员方法,而这个存储对象就是Class类对象

2.反射的三种形式

我们先说哪三种形式

1.Class.forName(“全类名”);

2.类名.class

3.对象.getClass();

其实这三种方法对应着java代码在计算机里的三个阶段

在这里插入图片描述

图贴出来,可以自己对比着理解,不想打字了

另外多说一点 对象.getClass()这种方法是定义在Object对象里的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值