Java反射机制-学习笔记1(三)

2014-11-24 08:07:32 · 作者: · 浏览: 1
ass< > personClass = null;
Class< > superClass = null;
try {
personClass = Class.forName("org.zhang.test.Person");
superClass = personClass.getSuperclass();
System.out.println(superClass.getName());

} catch (ClassNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}

}
}

结果:
java.lang.Object

实例7:获取修饰符、方法、返回类型等


[java]
package org.zhang.test;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

interface Chiness{
void say();
}

class Person implements Chiness{
public Person(){

}

@Override
public void say() {
System.out.println("我是中国人");
}
}

public class ReflectTest {
public static void main(String[] args){

Class< > personClass = null;
Constructor constructor = null;
Constructor constructor2 = null;
try {
personClass = Class.forName("org.zhang.test.Person");
constructor = personClass.getDeclaredConstructor();
constructor2 = personClass.getConstructor();
System.out.println(constructor);
System.out.println(constructor2);

int modifier = constructor.getModifiers();
System.out.println("int modifier is: " + modifier);
System.out.println("string modifier is: " + Modifier.toString(modifier));

Method method = personClass.getMethod("say");
int methodModifier = method.getModifiers();
System.out.println(methodModifier);
System.out.println(Modifier.toString(methodModifier));
System.out.println(method.getReturnType());


} catch (ClassNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
} catch (NoSuchMethodException e){
e.printStackTrace();
}

}
}


摘自 小长弓