当前位置:编程学习 > JAVA >>

100分求解决java实例化的小问题

问题是这样的,想可以用变量来当实例化类名,但是怎么都不成功,请各位指教。

第一个类A

public class A {

static int SIZE;

public A(int size){
            this.SIZE=size;
}


第二个类B

public class B{
public B(int n){
for(int i=1;i<=n;i++){
                 /*问题在这里
                 *我想在初始化类B的时候根据参数n,同时初始化n个类A
                 *但是这n个类A的实例名字肯定不能一样,后面还要调用
                 *尝试用i来当实例名显然不行
                 *实在找不到解决办法,请各位帮帮忙:)*/
A i =new A(i*i); 
}
}
}



请各位帮帮忙:) --------------------编程问答-------------------- public class B{   
HashMap<int,A> hm=new HashMap<int,A>();
    public B(int n){
        for(int i=1;i<=n;i++){
A i =new A(i*i);//循环和对象都是i?
hm.put(i, i);
        }
    }
}
这样行不行hm里面就是一个个不同的A对象了。 --------------------编程问答--------------------
引用 1 楼 abcmsnet 的回复:
public class B{   
HashMap<int,A> hm=new HashMap<int,A>();
    public B(int n){
        for(int i=1;i<=n;i++){
A i =new A(i*i);//循环和对象都是i?
hm.put(i, i);
        }
    }
}
这样行不行hm……

除了hashmap之外还有其他的可能的方法吗? --------------------编程问答-------------------- upupup --------------------编程问答-------------------- 你定义个数组不行不行吗?

public class B{    
    public B(int n){
        A[] a=new A[n];
        for(int i=1;i<=n;i++){
                 /*问题在这里
                 *我想在初始化类B的时候根据参数n,同时初始化n个类A
                 *但是这n个类A的实例名字肯定不能一样,后面还要调用
                 *尝试用i来当实例名显然不行
                 *实在找不到解决办法,请各位帮帮忙:)*/
            A a[i] =new A(i*i); 
        }
    }
}
--------------------编程问答-------------------- 明白LZ的意思,那种创建方式在.NET里都不能实现,JAVA反射也做不到,一般都是推荐用一些集合容器来存储,标示只能借助容器设定的值,而不能直接使用变量来代替实例名称。 --------------------编程问答-------------------- a[i] =new A(i*i); 多了个A,去掉。java本身不支持动态定义变量名。
--------------------编程问答--------------------
引用 4 楼 bluemoby 的回复:
你定义个数组不行不行吗?
Java code?12345678910111213public class B{        public B(int n){        A[] a=new A[n];        for(int i=1;i<=n;i++){                 /*问题在这里                 *我想在初始化类B的时候根……


嗯 定义对象数组 --------------------编程问答-------------------- 对象数组或者集合 --------------------编程问答--------------------
引用 8 楼 zoeg 的回复:
对象数组或者集合


+1
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,