反射与类操作(取得父类信息)
利用反射可以做出一个对象所具备的所有操作行为,而且最关键的是这一切的操作都可以基于Object类型进行。
- 取得父类信息
在Java 里面任何的程序类实际上都一定会有一个父类,那么在Class类里面就可以通过此方式来取得父类或者是实现的接口,有如下两个方法提供:
取得类的包名称public Package getPackage();
例子:
package cn.mldn.demo;
interface IMessage {}
interface IFruit {}
class Person implements IMessage, IFruit {}
public class TestDemo {
public static void main(String[] args) throws Exception {
Class<?> cls = Person.class;
System.out.println(cls.getPackage().getName());
System.out.println(cls.getSuperclass().getName());
Class<?> itf[] = cls.getInterfaces();
for (int x = 0; x < itf.length; x++) {
System.out.println(itf[x].getName());
}
}
}
取得父类的Class对象:
public Class<? super T>getSuperclass()
取得父接口:
public class<?>[] getInterfaces()
通过反射可以取得类结构上的所有关键类信息。