java反射3——类实例的方法2

package cn.classes;

public class Person
{
 private String name;
 private int age;

 public Person(String name, int age)
 {
  super();
  this.name = name;
  this.age = age;
 }

 public String getName()
 {
  return name;
 }

 public void setName(String name)
 {
  this.name = name;
 }

 public int getAge()
 {
  return age;
 }

 public void setAge(int age)
 {
  this.age = age;
 }

 @Override
 public String toString()
 {
  return "Person [name=" + name + ", age=" + age + "]";
 }

}

 

package cn.test;

import java.lang.reflect.Constructor;

import cn.classes.Person;

public class Test
{
    // 如果没有一个空构造方法
 public static void main(String[] args)
 {
  Class<?> c = null;
  try
  {
   c = Class.forName("cn.classes.Person");
   Constructor<?> cons[] = c.getConstructors();
   Person p = (Person)cons[0].newInstance("xy",20);
   System.out.println(p);
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }  
 }
}

 

帮助文档参见

java.lang;

java.lang.reflect

上一篇:运维前线:一线运维专家的运维方法、技巧与实践2.2 开源CMDB介绍


下一篇:java反射3——类实例的方法1