java 我想把一个类的所有对象自动保存到另一个类的对象数组中,我该怎么做?谢谢[已关闭]

7hiiyaii  于 2023-02-07  发布在  Java
关注(0)|答案(2)|浏览(116)

19小时前关门了。
Improve this question
我想自动地将我的类中创建的每个对象保存在另一个类的对象数组中,这样我就可以管理它们如何与主类(拥有数组的类)交互。我该怎么做呢?谢谢!
我没怎么努力...

wfveoks0

wfveoks01#

我建议在第二个类中使用静态列表,第一个类在其构造函数中将自己添加到其中

class A {
    static List<B> bs = new ArrayList<>();
}

class B {
    public B() {
        A.bs.add(this);
    }
}
System.out.println(A.bs); // []
B b1 = new B();
System.out.println(A.bs); // [tests.B@5fd0d5ae]
B b2 = new B();
System.out.println(A.bs); // [tests.B@5fd0d5ae, tests.B@2d98a335]
wnvonmuf

wnvonmuf2#

Java能够将对象存储为数组的元素沿着其他原始和自定义数据类型。注意,当您说“对象数组”时,存储在数组中的不是对象本身,而是对象的引用。
注意:初始化对象数组的不同方法:
通过使用构造函数通过使用单独的成员方法
Java中对象数组的示例程序

public class ArrayOfObjects 
{
    public static void main(String args[]) {
        Product[] obj = new Product[5];
        obj[0] = new Product(23907, "Dell Laptop");
        obj[1] = new Product(91240, "HP 630");
        obj[2] = new Product(29823, "LG OLED TV");
        obj[3] = new Product(11908, "MI Note Pro Max 9");
        obj[4] = new Product(43590, "Kingston USB");  
        System.out.println("Product Object 1:");
        obj[0].display();
        System.out.println("Product Object 2:");
        obj[1].display();
        System.out.println("Product Object 3:");
        obj[2].display();
        System.out.println("Product Object 4:");
        obj[3].display();
        System.out.println("Product Object 5:");
        obj[4].display();
    }
}
class Product 
{
    int pro_Id;
    String pro_name;
    Product(int pid, String n) 
    {
        pro_Id = pid;
        pro_name = n;
    }
    public void display() 
    {
        System.out.print("Product Id = " + pro_Id + "  " + " Product Name = " + pro_name);
        System.out.println();
    }
}

相关问题