反射的应用

一.在这里插入图片描述
反射:实例化对象--------------getClass()方法-----------------得到完整的“包类”名称
在这里插入图片描述
反射之后Person的操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
反射的使用
1.Class clazz=Person.class
2.调用构造器函数/属性/方法
3.构造器实例化,强转/属性设置/方法调用
二 关于java.lang.Class类的理解
1.类的加载过程
程序经过javac.exe的命令以后,会生成一个或多个字节码文件(.class结尾),
使用java.exe命令对某个字节码文件进行解释运行(相当于将某个字节码文件加载到内存,此过程称为类的加载,加载到内存中的类,我们称为运行时类,此运行时类,就作为Class的一个实例)(类本身也是对象 是Class的对象
万事万物皆对象
2.Class实例的获取方式
方式一通过运行时类的属性.class
Class clazz1=Person.class;
方式二通过运行时类的对象,调用getClass();
Person p1=new Person();
Class clazz2=p1.getClass();
方式三 调用Class的静态方法forName(String classPath)***(用的多)***
Class clazz3=Class,forName(“com.atguigu.java.Person”)//路径在这里插入图片描述
都是True,注意加载到内存中的运行时类是唯一的
方式四使用类的加载器 ClassLoader
ClassLoader classLoader=ReflectionTest.class.getClassLoader();
//生成加载器对象
Class clazz4=classLoader.loadClass(“com.atguigu.java.Person”);//得到运行时类
在这里插入图片描述

在这里插入图片描述
三类的加载过程
在这里插入图片描述
四 类的加载器
在这里插入图片描述

在这里插入图片描述
1.读取配置文件的方式一
获取配置信息Properties
在这里插入图片描述
读取配置文件方式二

在这里插入图片描述
五.利用反射创建对象
1.newInstance()
在这里插入图片描述

六获取运行时类及父类中声明为public访问权限的属性
1.属性
在这里插入图片描述

在这里插入图片描述
2.方法
在这里插入图片描述
3.构造器
在这里插入图片描述
在这里插入图片描述
3.构造器
在这里插入图片描述
4.获取运行时类的父类
在这里插入图片描述
5.获取运行时类的带泛型的父类

在这里插入图片描述
6.运行时类的接口,所在包,注册源
在这里插入图片描述

在这里插入图片描述
注解
在这里插入图片描述
7.调用运行时类的指定属性
在这里插入图片描述
在这里插入图片描述
获取private的属性
在这里插入图片描述
8.调用运行时类的指定方法
在这里插入图片描述
在这里插入图片描述
9.调用运行时类指定的构造器
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值