测试类,取这个类中的方法:
- package stu.wff.test ;
- public class Person {
- private String name ;
- private int age ;
-
- public Person() {}
- public Person(String name, int age) {
- this.setName(name) ;
- this.setAge(age) ;
- }
- public void setName(String name) {
- this.name = name ;
- }
- public void setAge(int age) {
- this.age = age ;
- }
- public String getName() {
- return this.name ;
- }
- public int getAge() {
- return this.age ;
- }
- }
复制代码 操作类,打印所有的构造方法:
- package stu.wff.test1 ;
- import java.lang.reflect.Constructor ;
- import java.lang.reflect.Modifier ;
- public class GetAllConstructor {
- public static void main(String[] args) {
- Class<?> c = null ; //声明Class对象
- try{
- c = Class.forName("stu.wff.test.Person") ; //实例化Class对象
- }catch(ClassNotFoundException e) {
- e.printStackTrace() ;
- }
- Constructor<?>[] cons = c.getConstructors() ; //取得全部的构造方法
- for(Constructor con:cons) {
- System.out.print("构造方法:") ;
- int mo = con.getModifiers() ;
- System.out.print(Modifier.toString(mo) + " ") ; //打印修饰符
- System.out.print(con.getName()) ; //打印名称
- System.out.print("(") ;
- Class<?>[] p = con.getParameterTypes() ; //取得所有参数类型
- for(int i=0; i<p.length; i++) {
- System.out.print(p[i].getName() + " arg" + i) ;
- if(i<p.length-1) { //
- System.out.print(", ") ;
- }
- }
- System.out.println(")") ;
- }
- }
- }
复制代码
|