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

2021-06-09  本文已影响0人  一块自由的砖

每日一经

每天收集一个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));
上一篇下一篇

猜你喜欢

热点阅读