注解
可以附加再package,class,methods,filed
内置注解
@Override 重写
@Deprecated 过期的
@SuppressWarnings 镇压警告
元注解(Java.lang.annotion)
@Target 用于描述注解的使用范围(package,class,methods,filed)
@Retention 表示需要在什么级别保存该注释信息,用于描述注释的生命周期(SOURCE<CLASS<RUNTIME)
@Document 说明该注解将被包含在javadoc中
@Inherited 说明子类可以继承父类中的该注解
自定义一个注解
反射(java.Reflection)
java变成准
动态语言的关键
优点:可以实现动态创建对象和编译,体现出很大的灵活性
缺点:对性能有影响,使用反射基本上是一种解释操作,我们可以告诉jvm,我们希望他做什么然后让它来满足我们的要求。所以操作总是慢一步
反射机制提供的功能
-
在运行时判断任意一个对象所属的类
-
在运行时构造任意一个类的对象
-
在运行时判断任意一个类所具有的成员变量和方法
-
在运行时获取泛型信息
-
在运行时调用任意一个对象的成员变量和方法
-
在运行时处理注解
-
生成动态代理
Class类的常用方法
方法名 | 功能 |
---|---|
static ClassForName(String name) | 返回指定类名name的Class对象 |
Object newInstance() | 调用缺省构造函数,返回Class对象的一个实例 |
getName() | 返回Class对象所表示的实体的名称 |
Class getSuperClass() | 返回当前Class对象的父类Class对象 |
Class[] getinterfaces() | 获取当前class对象的接口 |
ClassLoader getClassLoader() | 返回该类的类加载器 |
Constructor[] getConstructors() | 返回一个包含某些Constructor对象的数组 |
Method getMethod(String name,Class...T) | 返回一个Method对象,此对象的形参类型为paramType |
Filed[] getDeclaredFields() | 返回Field对象的一个数组 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!