注解和反射
java的注解和反射 Annotation (注解) Reflection(反射)
1、注解 @开头的 Annotation
内置注解 元注解 自定义注解
@Override 重写
@Deprecated 过时的,不推荐的(告诉你这个方法存在更好的方式)
@SuppressWarning("all") 镇压警告,就是将警告镇压
2、反射!!! Reflection reflect
java里什么是反射
在java中,反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力。
Java反射机制的主要功能:
1、在运行时判断任意一个对象所属的类;
2、在运行时构造任意一个类的对象;
3、在运行时调用任意一个对象的方法等。
Java反射机制提供的功能
在运行时判断任意一个对象所属的类
在运行时构造任意一个类的对象
在运行时判断任意一个类所具有的成员变量和方法
在运行时获取泛型信息
在运行时调用任意一个对象的成员变量和方法
在运行时处理注解
生成动态代理
Class类
通过反射获得类的class对象
Class.forName("包名") 返回指定类包名的Class对象
在Object类中有一个 public final Class getClass()方法,他被所有子类继承
这个方法返回的类型是一个Class类,他是Java反射的源头。
所谓反射就是:通过对象反射求出类的名称
- Class本身也是一个类
- Class对象只能由系统建立对象
- 一个加载的类在JVM中只会有一个Class实例
- 一个Class对象对应的是一个加载到JVM中的一个.class文件
- 每个类的实例都会记得自己是由哪个Class 实例所生成
- 通过Class可以完整地得到一个类中的所有被加载的结构
- Class类是Reflection的根源,针对任何你想动态加载、运行的类,唯有先获得相应的Class对象
获取类实例的方法。。。四种方式
- 方式一:通过对象获得
Class c1 = person.getClass();
System.out.println(c1.hashCode()); - 方式二 : forname获得
Class c2 = class.forName ("com.kuang.reflection.student");
system.out.println(c2.hashcode() ); - 方式三:通过类名.class获得
Class c3 = student.class;
System.out.println(c3.hashcode()); - 方式四:基本内置类型的包装类都有一个Type属性
Class c4 = Integer.TYPE;
System.out.println(c4); - 获得父类类型
Class c5 = c1.getSuperclass();
system.out.println( c5);
本文来自博客园,作者:没有烦恼的猫猫,转载请注明原文链接:https://www.cnblogs.com/maomao777/p/16000204.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~