3、反射-创建运行时类对象

有了Class类对象能做什么

1、创建类的对象:调用Class对象的newInstance()方法

  1.1、类必须有一个无参构造器

  1.2、类的构造器的访问权限需要足够

2、没有无参构造器也可以创建对象

只要在操作的时候明确调用类中的构造方法

并且将参数传递进去之后

才可以进行实例化操作

步骤

2.1、通过Class类的getDeclaredConstructor(Class paramterTypes)获取本类的指定形式构造器

2.2、像构造器的形参中传递一个第项数组,里面包含构造器所需要的参数

2.3、在ConStructor类中存在一个方法

public class Person {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public Person() {
        System.out.println("无参构造器");
    }

    public String getName() {
        return name;
    }

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

    public void show(){
        System.out.println("show方法...");
    }

    public int display(int age){
        System.out.println("age:" + age);
        return age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                '}';
    }
}
    @Test
    public void test5() throws IllegalAccessException, InstantiationException {

        Class clazz = Person.class;
        //创建对应的运行时对象
        Person p = (Person) clazz.newInstance();//调用的时Person的无参构造器
        System.out.println(p);
    }

猜你喜欢

转载自www.cnblogs.com/Mrchengs/p/10903276.html