反射的使用
反射的使用
拿到此类的接口/包/注解
import java.lang.annotation.Annotation;
@Deprecated
public class demo6 implements Runnable {
@Override
public void run() {
}
public static void main(String[] args) {
Class demo6Class = demo6.class;
// 拿到接口
Class[] interfaces = demo6Class.getInterfaces();
for (Class anInterface : interfaces) {
System.out.println("接口有:" + anInterface);
}
// 拿到包
Package aPackage = demo6Class.getPackage();
System.out.println("包 => " + aPackage);
// 拿到注解
Annotation[] annotation = demo6Class.getAnnotations();
for (Annotation annotation1 : annotation) {
System.out.println("注解 => " + annotation1);
}
}
}
拿到父类的泛型
/*
* 通过反射拿到父类的泛型
* */
public class Demo {
public static void main(String[] args) {
Class demo01Class = Demo01.class;
ParameterizedType parameterizedType = (ParameterizedType) demo01Class.getGenericSuperclass();
Type[] actualTypeArguments = parameterizedType.getActualTypeArguments();
System.out.println(actualTypeArguments[0]);
}
}
class Demo01 extends Demo02<Integer> {
}
class Demo02<T> {
}
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 完成微博外链备案,微博中直接可以打开园子的链接
· 推荐 3 种 .NET Windows 桌面应用程序自动更新解决方案
· .NET 10 支持Linux/Unix 的Shebang(Hashbang)
· 一个基于 .NET 开源、模块化 AI 图像生成 Web 用户界面
· 上周热点回顾(6.9-6.15)