反射机制(二)

取得类的继承结构

  实际上Class类最大的功能是可以完全的去解剖一个类,例如:在类定义的时候往往需要编写以下的内容:

            类所在的包;

              |-public Package getPackage()

            类的声明方式;(都在Class类里面);

               |-取得完整类名称(包.类):public String getName(),会返回包名称

               |-取得类名称:public String getSimpleName()

            类所继承的父类;

               |-取得父类:public Class<? super T> getSuperclass()

            类所实现的接口;

               |-取得所有父接口:public Class<?>[] getInterfaces()

范例:取得类的基本信息

import java.io.Serializable;
interface Massage{};
public class Dome3 extends Object implements Serializable,Cloneable,Massage {

}
public class Demo3_1 {
	public static void main(String[] args) throws ClassNotFoundException {
		Class<?> cls=Class.forName("cn.zwb.dome1.Dome3");
		System.out.println("包名称:"+cls.getPackage().getName());
		System.out.println("类名称:"+cls.getSimpleName());
		System.out.println("父类名称:"+cls.getSuperclass().getSimpleName());
		Class<?> icls[] =cls.getInterfaces();//取得全部接口;
		for (int i = 0; i < icls.length; i++) {
			System.out.println(icls[i].getSimpleName());
			
		}
	}
} 

通过以上的代码可以发现,整个的反射机制中,Class是一切操作的源头.

猜你喜欢

转载自blog.csdn.net/qq1019648709/article/details/79918935