• Java Reflection操作Classes的简介说明


    转自:

    Java Reflection操作Classes的简介说明

    下文讲述使用java反射获取类中信息的方法分享,如下所示:

    Class对象

    在java反射操作一个类时,首先需获取类对象,如下所示:

    Class myObjectClass = MyObject.class;
    

    例:
    Java运行时,通过类的全限定名获取类对象

    String className = ... ;//类的全限定名 com.java265.MyClassName
    Class class = Class.forName(className);
    

    类名

    当我们获取完class对象后,我们可以使用 getName()获取类的全限定名称(包含包名+类名) getSimpleName()获取类名

    修饰符

    在反射中,我们可获取其修饰符 public ,private等关键字

     int modifiers = class.getModifiers();
     
        Modifier.isAbstract(int modifiers);
        Modifier.isFinal(int modifiers);
        Modifier.isInterface(int modifiers);
        Modifier.isNative(int modifiers);
        Modifier.isPrivate(int modifiers);
        Modifier.isProtected(int modifiers);
        Modifier.isPublic(int modifiers);
        Modifier.isStatic(int modifiers);
        Modifier.isStrict(int modifiers);
        Modifier.isSynchronized(int modifiers);
        Modifier.isTransient(int modifiers);
        Modifier.isVolatile(int modifiers);
    

    包信息

    使用反射获取class对象的包信息,例:

    Package package = aClass.getPackage();
    

    父类

    使用反射获取父类信息

    Class superclass = aClass.getSuperclass();
    

    查看类所实现的接口

     
    Class[] interfaces = aClass.getInterfaces();
    

    查看类实现的构造器

    Constructor[] constructors = aClass.getConstructors();
    

    查看类拥有的方法

    Method[] method = aClass.getMethods();
    

    查看类中的拥有的变量

    Field[] method = aClass.getFields();
    

    查看类注解

    Annotation[] annotations = aClass.getAnnotations();
  • 相关阅读:
    世界上最伟大的女程序员
    [Python]面向对象基础
    Flutter 内嵌原生组件 for ios
    tail命令应用
    TCP/IP网络参考模型
    React框架核心原理
    Vue----单文件组件
    软件设计不是CRUD(4):耦合度的强弱(上)
    jupyter notebook安装中文及使用
    MATLAB | 两种上色方式的旭日图绘制
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126685295