为什么Java反射对象必须有一个无参数的构造方法?

 我来答
缘Lai如茨
2016-05-06 · TA获得超过8631个赞
知道大有可为答主
回答量:7534
采纳率:92%
帮助的人:620万
展开全部
其实也可以不提供,只不过这样的话构造对象的时候一定要先拿到有参数的构造方法,然后赋予参数再构建对象。
比如
package cn.mldn.demo;

import java.lang.reflect.Constructor;

class Person
{ // CTRL + K
private String name;
private int age;

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

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

public class TestDemo
{
public static void main(String[] args) throws Exception
{
Class<?> cls = Class.forName("cn.mldn.demo.Person"); // 取得Class对象
// 取得指定参数类型的构造方法
Constructor<?> cons = cls.getConstructor(String.class, int.class);
Object obj = cons.newInstance("张三", 20); // 为构造方法传递参数
System.out.println(obj);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式