栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

7.反射、动态代理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

7.反射、动态代理

一:反射 1. java.lang.class 类加载过程:

程序经过javac.exe命令后,会生成一个或多个字节码文件(.class结尾)
再使用java.exe对某个字节码文件解释运行,就相当于把字节码文件加载到内存中,并将这些静态数据转换成方法区的运行时数据结构,然后生成一个代表这个类的Class对象。(类加载器作用)
加载到内存中的类成为运行时类,运行时类是Class的一个实例。

初始化:

类构造器(构造类信息的)方法是由编译期自动收集类中所有类变量的赋值动作和静态代码块中的语句合并产生的。
当初始化类是,父类还没初始化则先初始化父类。

可以有Class对象:

类、接口、数组、枚举、注解、基本数据类型、void

2.获取运行时类的方式

方式一:类名.class
方式二:类对象名.getClass( )
方式三:Class.forName("java.lang.String") //以String为例

3.通过运行时类造对象,获取类的结构

clazz.newInstance( ):必须提供空参构造器,且权限为public

1.属性

getFields( ):只有public的属性,包含运行时类及其父类的属性
getDeclaredFileds( ):所有权限的属性,但只有运行时类的

2.方法

getMethods( ):只有public的方法,包含运行时类及其父类的方法
getDeclaredMethods( ):所有权限的方法,但只有运行时类的

3.其他

getSuperclass( )
getInterface( )
getAnnotations( )

4.带泛型的父类的泛型

Type gSuperclass = clazz.getGenericSuperClass( ) //带泛型的父类
ParameterizedType paramType =()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/445971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号