Java基础(二)注解、反射和class对象
2021/7/2 22:21:34
本文主要是介绍Java基础(二)注解、反射和class对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、注解
1. 解释
不是程序本身,但是可以对程序作出解释,可以被其他程序读取。(对比注释只能被人看懂)
2. 内置注解
(1)Override 这个方法使重写方法
(2)Deprecated 这个方法不建议使用,过时了
(3)SuppressWarnings 不给这部分显示编译错误提示
3. 元注解:
负责解释其他注释,通常用于管理自定义注释
(1)Target 用于描述注解的使用范围
type是类,下图使在类上也有效
(2)Retention 表示该注释信息应该保存在什么级别
一共三个级别:
source表示在源码中有效
class表示直到被编译成 .class文件依旧有效
runtime 表示直到运行依旧有效 (通常用这个,包含了前两个)
(3)Document 表示是否将该自定义注解生成在 Javadoc 中
(4)Inherited 表示该自定义注解是否可以被子类继承
4. 自定义注解
注解对代码都是没有直接影响的,需要注解处理器处理了注解后才能起到相应的作用。注解内部定义的都是参数 还是不太懂通过参数如何实现
只有注解中只有一个返回值且名字是value,使用时可以不写成 value=“111” 的形式
二、反射
1. 获取类的方法
(1)普通类
一个类只有一个class对象,所以上述代码输出值一样
(2)内置类
(3)通过子类获取父类
已有子类class获得父类
(4)利用ClassLoader
2. 获得类的信息
3. 使用
(1)动态的创建对象
如果想调用有参的构造函数,要先获取到该构造函数
(2)比较普通方法和反射调用方法的性能
3. 通过反射获取泛型
输出
4. 反射操作注解
获得注解
输出
输出
三、关于class对象的一些知识点
1. 概念区分
- 类就是Java类
- *. class是Java类编译后的文件
- class对象是 *. class文件被加载到内存的对象
2. 哪些类型可以有class对象
3. Java类的加载过程
4. 类什么时候初始化
在main()中主动引用子类:main()所在的类被初始化,然后父类初始化,然后子类初始化
5.类加载器:
Java文件被编译成 *. class文件后,类加载器将 *. class文件加载到内存中,生成class对象
(1)类加载器的类型
(2)可加载的路径
这篇关于Java基础(二)注解、反射和class对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南