【Java】【反射】Constructor创建有参构造函数的反射

2017-04-08  本文已影响445人  JerichoPH

Constructor创建有参构造函数的反射类

Class类的newInstance()方法是使用该类无参构造方法创建对象,如果一个类只有有参构造则可以使用Class.getConstructor(String.class,int.class)方法获取一个指定的构造方法然后再调用Constructor.newInstance("张三",20)创建对象

// 反射有参构造函数的类
public class Demo_Reflect {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("com.demo.Person");
        Constructor c = cls.getConstructor(String.class,int.class);
        Person p = (Person) c.newInstance("张三",23);
        System.out.println(p);
    }
}

class Person {
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
    
    private String name;
    private int age;
    
    public Person(String Name, int Age) {
        name = Name;
        age = Age;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读