首页 > 其他 > 详细

运行时类的完整结构

时间:2021-04-27 20:15:46      阅读:14      评论:0      收藏:0      [点我收藏+]

运行时类的完整结构

  • 通过反射获取运行时类的完整结构
    Fidel(字段),Method(方法),Constructor(构造器),Superclass(父类),Interface(接口),Annotation(注解)
public static void main(String[] args) throws Exception {
    Class c1 = Class.forName("com.saxon.reflection.Person");
    //获得类的名字
    System.out.println(c1.getName());//全名:包名+类名
    System.out.println(c1.getSimpleName());//类名

    Field[] declaredFields = c1.getDeclaredFields();//获得全部属性
    for (Field declaredField : declaredFields) {
        System.out.println(declaredField);
    }
    System.out.println("================================");

    //获得指定属性的值
    Field name = c1.getDeclaredField("name");//可以获得所有的属性
    System.out.println(name);
    Method[] methods = c1.getMethods();//本类及其父类的全部public方法
    for (Method method : methods) {
        System.out.println(method);
    }
    System.out.println("===================================");
    Method[] declaredMethods = c1.getDeclaredMethods();//本类的所有方法
    for (Field declaredField : declaredFields) {
        System.out.println(declaredField);
    }
    System.out.println("=============================");

    //获取指定的方法
    Method getName = c1.getMethod("getName", null);
    Method getName1 = c1.getDeclaredMethod("setName", String.class);
    System.out.println(getName);
    System.out.println(getName1);
    System.out.println("==============================");

    //获取指定的构造器
    Constructor[] constructors = c1.getConstructors();
    for (Constructor con : constructors) {
        System.out.println(con);
    }
    System.out.println("==============================");

    Constructor[] declaredConstructors = c1.getDeclaredConstructors();
    for (Constructor declaredConstructor : declaredConstructors) {
        System.out.println(declaredConstructor);
    }
    //获得指定的构造器并打印
    System.out.println(c1.getDeclaredConstructor(String.class, int.class, int.class));
}
  • 小结

    1. 在实际的操作中,取得类的信息的操作代码,并不会经常开发。
    2. 一定要熟悉java.lang.reflect包的作用,反射机制。
    3. 如何取得类的属性,方法,构造器的名称,修饰符等。

运行时类的完整结构

原文:https://www.cnblogs.com/saxonsong/p/14710014.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!