java 有什么方法可以动态或循环的生成对象名

例如,一个Student类,自己手动new时Students1=newStudent();Students2=newStudent();我想的是s1和s2可不可以通过循环... 例如,一个Student类,自己手动new时
Student s1=new Student();
Student s2=new Student();
我想的是s1和s2可不可以通过循环或其他动态方法来指定,最好来个例子
展开
 我来答
死后是好人
推荐于2017-11-24 · TA获得超过2638个赞
知道小有建树答主
回答量:628
采纳率:0%
帮助的人:961万
展开全部
根据楼主你的意思,这样声明就可以了,没必要那么高深
假设Student类如下:
public class Student{
private int l;
Student(){
l=0;
}
Student(int k){
l=k;
}
public int get() {
// TODO Auto-generated method stub
return l;
}
}
那么楼主声明的时候只要这样就可以了
Student []s=new Student[20];//这里不要用()只需要声明数组就可以了,可以动态指定
for(int i=0;i<20;i++)//s必须要用是s[i]这种带数字下标的来声明对象
s[i]=new Student(i+1);

调用的时候
for(int j=0;j<20;j++){
System.out.print(s[i].get()+"\t");
就可以了
运行结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
main的代码为:
public static void main(String args[]){
G []g=new G[20];
for(int i=0;i<20;i++)
g[i]=new G(i+1);
for(int i=0;i<20;i++)
System.out.print(g[i].get()+"\t");
}
相信楼主你已经会用了
cs6641468
2011-08-26 · TA获得超过5713个赞
知道大有可为答主
回答量:863
采纳率:100%
帮助的人:989万
展开全部
public class Test {
public static void main(String[] args) {
//定义num规定你要多少对象 假如要5个
int num=5;
//则返回后 stu[0]到stu[4]就是这五个Student的对象
Student[] stu=getStudentInstance(num);

}

private static Student[] getStudentInstance(int num) {
Student[] stu =new Student[num];
for (int i=0;i<num;i++)
{
stu[i]=new Student();
}
return stu;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
czt2089125
2011-08-26
知道答主
回答量:3
采纳率:0%
帮助的人:5080
展开全部
不行。变量名和类实例的引用名必须是符合规则的字符串常量,不能是变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不一定是飞机
2011-08-26 · TA获得超过827个赞
知道小有建树答主
回答量:270
采纳率:100%
帮助的人:325万
展开全部
List<Student> list = new ArrayList<Student>();
for (int i = 0; i < 10; i++) {
try {
list.add((Student)Student.class.newInstance());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
System.out.println(list);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ch3212
2011-08-26 · TA获得超过135个赞
知道答主
回答量:226
采纳率:0%
帮助的人:121万
展开全部
通过反射机制就可以了
追问
能写个简单例子么
追答
你可以看下那位写的,差不多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式