Java通过反射创建对象的所有方法

本文介绍了五种在Java中获取Class对象的方法:通过已实例化的对象、通过包名+类名的方式、通过类对象调用newInstance()方法、通过类对象的getConstructor()或getDeclaredConstructor()方法获取构造器并创建对象。
摘要由CSDN通过智能技术生成

1.通过已实例化对象获取Class(一)

Employee emp = new Employee();
Class<?> clazz = emp.getClass();

2.通过已实例化对象获取Class(二)

Employee emp = new Employee();
Class<?> clazz = emp.class;

3.通过包名+类名获取Class

Class<?> clazz = Class.forName("com.example.Employee");

4.通过类对象调用newInstance()方法获取Class

Class<?> clazz = Employee.class.newInstance();

5.通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象

Class<?> clazz=Employee.class.getConstructor(Employee.class).newInstance();

ps:Employee类

package com.example;

public class Employee {
    private Integer id;
    private String gender;
    private String name;

    private String email;

    public Employee() {
    }

    public Employee(Integer id, String gender, String name, String email) {
        this.id = id;
        this.gender = gender;
        this.name = name;
        this.email = email;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

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

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "id=" + id +
                ", gender='" + gender + '\'' +
                ", name='" + name + '\'' +
                ", email='" + email + '\'' +
                '}';
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值