package com.reflect;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
/**
* 反射中Class常见的方法和属性
* @author lr
*
*/
public class Demo2 {
public static void main(String[] args) throws ClassNotFoundException {
Class<?> clazz =String.class;
//Class的名称(包含包路径)
String name = clazz.getName();
//Class的名称(不包含包路径)
String simpleName = clazz.getSimpleName();
//Class的父类
Class<?> superclass = clazz.getSuperclass();
//Class的所有public方法 包含父类的
Method[] methods = clazz.getMethods();
//Class的所有本身声明的方法,不限访问权限
Method[] declaredMethods = clazz.getDeclaredMethods();
//Class的所有public构造方法 包含父类的
Constructor<?>[] constructors = clazz.getConstructors();
//Class的所有本身声明的构造方法,不限访问权限
Constructor<?>[] declaredConstructors = clazz.getDeclaredConstructors();
//Class的所有public属性 包含父类的
Field[] fields = clazz.getFields();
//Class的所有本身声明的属性,不限访问权限
Field[] declaredFields = clazz.getDeclaredFields();
//Class实现的接口数组
Class<?>[] interfaces = clazz.getInterfaces();
//Class是否为接口
boolean interface1 = clazz.isInterface();
//.....
}
}
java 反射(二) 反射中Class常见的方法和属性
最新推荐文章于 2023-04-18 11:18:09 发布