注解和反射11.获取类运行时的结构

简介: 注解和反射11.获取类运行时的结
public class Test {
public static void main(String[] args) throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException {
Class c1 = Class.forName(“lesson02.Test”);
System.out.println(c1.getName());//获得包名+类名


    System.out.println(c1.getSimpleName());//获得类名
    //获得类的属性
    System.out.println("--------------------------");
    Field[] fields = c1.getFields(); //只能找到public属性
    fields = c1.getDeclaredFields();
    for (Field field:fields//找到全部的属性
         ) {
        System.out.println(field);
    }
    Field name = c1.getDeclaredField("name");//指定属性
    System.out.println(name);
    System.out.println("========================");
    Method[] methods = c1.getMethods();//获得本类及其父类的所有方法
    for (Method method : methods) {
        System.out.println("正常的"+method);
    }
    methods=c1.getDeclaredMethods();
    for (Method method : methods) {
        System.out.println("getDeclaredMethods"+method);
    }
    //获得指定方法
    //重载
    Method getName =   c1.getMethod("getName",null);
    Method setName =c1.getMethod("setName",String.class);
    //
}

}

相关文章
|
设计模式 Java
Java反射(Class、反射实例化、反射与单例、获取类结构)附带相关面试题
1.了解反射,2.Class类的三种实例化方法,3.反射机制与对象实例化,4.反射与单例设计模式,5.通过反射获取类结构的信息
292 0
|
6月前
|
Java
Java接口中可以定义哪些方法?
【4月更文挑战第13天】
345 0
Java接口中可以定义哪些方法?
|
6月前
|
监控 安全 Java
Java反射:深入了解动态类操作
Java反射:深入了解动态类操作
121 0
|
Java 编译器
Java用相同的方法在一个类中实现两个接口哪种接口方法被覆盖?
Java用相同的方法在一个类中实现两个接口哪种接口方法被覆盖?
125 0
|
Java API
Java反射(四)反射获取类的结构信息
介绍了Constructor Method Field Class的API
120 0
注解与反射6得到Class类的几种方式
注解与反射6得到Class类的几种方式
|
安全 Java
注解和反射12.动态创建对象执行方法
注解和反射12.动态创建对象执行方法
|
JavaScript 前端开发 Java
注解与反射5.反射概述
注解与反射5.反射概述
|
XML Java 数据格式
反射机制(什么是反射、反射操作构造器、方法、字段、反射加载资源)
反射机制(什么是反射、反射操作构造器、方法、字段、反射加载资源)
157 0
反射机制(什么是反射、反射操作构造器、方法、字段、反射加载资源)
C#反射与特性(四 实例化类型
C#反射与特性(四 实例化类型
279 0
C#反射与特性(四 实例化类型