| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1750 人关注过本帖
标题:[求助]能帮我解析一下constructor中的方法 newInstance(Object... inita ...
只看楼主 加入收藏
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
 问题点数:0 回复次数:3 
[求助]能帮我解析一下constructor中的方法 newInstance(Object... initargs)的功
看了好几遍书,还是没有理解透.
搜索更多相关主题的帖子: constructor Object initargs newInstance 解析 
2007-03-11 15:25
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 

根据构造函数来生成对象啊

其中initargs就是你这个对象的构造函数的参数,如果你的构造函数是无参的,你就一个也不要传,这个列表和你构造函数的参数列表是一样的,只不过,当是基本数据类型传入的时候,需要一个包装类来包装它,但是JDK1.5也可以直接传入基本数据类型了,因为编译器会帮你自动包装或者解包


可惜不是你,陪我到最后
2007-03-11 15:37
fqj793
Rank: 1
等 级:新手上路
威 望:2
帖 子:228
专家分:0
注 册:2006-12-9
收藏
得分:0 

一语惊醒梦中人,版主真是理解的深透,你这样一说,比书上讲得通俗易懂多了,谢谢!另外想请你帮我分析一下下面这段代码!
import java.lang.reflect.*;

class ClassTest
{
public static void main(String[] arg)
{

if (arg.length!=1)
{
return;
}
try
{
Class c=Class.forName(arg[0]);
Constructor[] cns=c.getDeclaredConstructors();
Class[] params=cns[0].getParameterTypes();
Object[] paramevalue=new Object[params.length];
for(int i=0;i<params.length;i++)
{
if(params[i].isPrimitive())
{
paramevalue[i]=new Integer(i+10);
}
}
Object o=cns[0].newInstance(paramevalue);
Method[] me=c.getDeclaredMethods();
for(int j=0;j<me.length;j++)
{
System.out.println(me[j]);
}
me[0].invoke(o,null);//此处我的想法是想调用Point类中的output()方法,不知null处该如何写才可以调用.
}           //反正现在这样运行会抛出错误.

catch(Exception e)
{

}

}

}
class Point
{


int x;
int y;

public Point (int x,int y)
{
System.out.println("x="+x+";y="+y);

}

void output()
{
System.out.println("y=");
}
}
上面红色地方


知识改变命运!!!
2007-03-11 23:54
风月_无边
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:60
帖 子:2960
专家分:652
注 册:2007-1-19
收藏
得分:0 
以下是引用千里冰封在2007-3-11 15:37:19的发言:

根据构造函数来生成对象啊

其中initargs就是你这个对象的构造函数的参数,如果你的构造函数是无参的,你就一个也不要传,这个列表和你构造函数的参数列表是一样的,只不过,当是基本数据类型传入的时候,需要一个包装类来包装它,但是JDK1.5也可以直接传入基本数据类型了,因为编译器会帮你自动包装或者解包

就是说,把参数直接写在构造方法里面也是一样的,对吧?


我的网站 http://www.
2007-03-12 06:59
快速回复:[求助]能帮我解析一下constructor中的方法 newInstance(Object... ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084830 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved