通过反射得到方法:

方法关键字

含义

getDeclaredMethods()

获取所有的方法

getReturnType()

获得方法的放回类型

getParameterTypes()

获得方法的传入参数类型

getDeclaredMethod("方法名",参数类型.class,……)

获得特定的方法

 

 

构造方法关键字

含义

getDeclaredConstructors()

获取所有的构造方法

getDeclaredConstructor(参数类型.class,……)

获取特定的构造方法

 

 

父类和父接口

含义

getSuperclass()

获取某类的父类

getInterfaces()

获取某类实现的接口

 

 

代码示例:  

 

    @Test
    public void fun() throws ClassNotFoundException{
        
        //构建类
        Class<?> cls = Class.forName("fanshe.User");
        
        //得到属性
        Field[] fields =  cls.getDeclaredFields();
        for(Field field :fields){
            System.out.println(
                    Modifier.toString(field.getModifiers())+"\n"+//得到属性的修饰
                    field.getType().getSimpleName()+"\n"+//得到属性的类型
                    field.getName()//得到属性的名字
                    );
        }
        
        //得到方法
        Method[] methods = cls.getDeclaredMethods();
        
        for(Method method : methods){
            System.out.println(
                    Modifier.toString(method.getModifiers())+"\n"+//得到方法的修饰
                    method.getReturnType().getSimpleName()+"\n"+//得到返回值的类型
                    method.getName()//得到名字
                    );
        }
        
        System.out.println(cls.getSimpleName());
        
    }