MST
星途 面试题库

面试题:Java反射机制中如何获取类的构造函数并实例化对象

在Java反射机制里,描述如何通过反射获取一个类的指定构造函数,并使用该构造函数创建类的实例对象,假设类名为`SampleClass`,有一个带参数的构造函数`SampleClass(int value)`,请写出实现代码。
48.1万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class Main {
    public static void main(String[] args) {
        try {
            // 获取SampleClass类的Class对象
            Class<SampleClass> sampleClassClass = SampleClass.class;
            // 获取带int参数的构造函数
            Constructor<SampleClass> constructor = sampleClassClass.getConstructor(int.class);
            // 使用构造函数创建类的实例对象
            SampleClass instance = constructor.newInstance(10);
            System.out.println(instance);
        } catch (NoSuchMethodException | IllegalAccessException | InstantiationException | InvocationTargetException e) {
            e.printStackTrace();
        }
    }
}

class SampleClass {
    private int value;

    public SampleClass(int value) {
        this.value = value;
    }

    @Override
    public String toString() {
        return "SampleClass{" +
                "value=" + value +
                '}';
    }
}