java 反射类(Reflection)方法使用整理

每日一经

每天收集一个java日常能用到的解决问题的方法,以后方便查阅。

实践

反射类(Reflection):运行时去检查或者修改应用程序的能力

常用

获取Class对象

        Class.forName("java.lang.Integer")

获取包名称

        File file = new File(".");
        Package packageOfFile = file.getClass().getPackage();
        // java.io
        String packageNameOfFile = packageOfFile.getName();

得到类的简写名称(不包含包路径)

        Integer a = 0;
        Class<?> clazz = a.getClass();
        // Integer 
        System.out.println("Simple name: " + clazz.getSimpleName());

得到类实现的接口

        Integer a = 0;
        Class<?> clazz = a.getClass();
        Class<?>[] interfaces = clazz.getInterfaces();
        // interface java.lang.Comparable
        System.out.println("Interfaces: " + Arrays.toString(interfaces));

得到类的成员变量

        Integer a = 0;
        Class<?> clazz = a.getClass();
        Field[] fields = clazz.getDeclaredFields();
        System.out.println("Fields: " + Arrays.toString(fields));

得到类的方法

        Integer a = 0;
        Class<?> clazz = a.getClass();
        Method[] methods = clazz.getMethods();
        System.out.println("Methods: " + Arrays.toString(methods));
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容