java 反射(二) 反射中Class常见的方法和属性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kangaroo_07/article/details/78057403
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();
		
		//.....
		
		

	}

}

猜你喜欢

转载自blog.csdn.net/kangaroo_07/article/details/78057403
今日推荐