在java中创建一个二维数组,用于存储两种对象

Create a 2D array in java to store two kinds of objects

我有一个超级classAgent。 superclass Agent 有两个 subclasses: 1. User ; 2. Seller。而这两个子class是User_actionSeller_action的超class。我想创建两个对象。第一个对象属于 class User_action。创建这个对象的目的是它应该继承 class Agent 和 class User 的变量和方法(并且,我希望我实现了这个目标。)。而且,我从 class Seller_action 创建了第二个对象,并牢记类似的 objective (从 class Agent 和 class 继承变量和方法Seller.).

有一次,我创建了这些对象(或我认为的实例),我想将它们存储在二维数组中。我不知道该怎么做。而且,这是我第一次尝试使用 java,所以我已经阅读了非常基础的内容,现在我正在尝试在编写代码时进行改进。

现在,我的问题 is:How 我可以在某物中存储两种类型的对象吗?你看,我想这样做的原因是因为我希望所有对象都出现在一个地理坐标上,并且我想知道每个人的坐标或地理位置 (x,y)。而且,因为我来自 MATLAB,所以最好的方法是将它存储在矩阵中(JAVA 中的二维数组)。

如有任何建议,我将不胜感激。非常感谢!

我认为你应该做的是拥有 2 个超级 类:1 - Agent,2 - Action。每个都有 2 个子 类 并且该操作有一个用户值。然后,您可以创建一个 Actions

数组

我相信,您希望按以下方式设计 classes,以便对象 ua 和 sa(定义如下)继承其父项的所有值:

代理人是家长class:

class Agent {  //the parent class

}

Class 用户是代理

的子 class
class User extends Agent{   //user is subclass of Agent
    int Agent_1,Agent_2;
    User()
    {
        Agent_1 = 1;
        Agent_2 = 2;
    }
}

Class卖家是代理

的子class
class Seller extends Agent{   //Seller is sub class of Agent

    int Seller_1, Seller_2;
    Seller()
    {
        Seller_1 = 3;
        Seller_2 = 4;
    }
}

User_action 是 User

的子class
class User_action  extends User{   //user action is subclass of User
    int UA_1, UA_2;
    User_action()
    {
        UA_1=5; UA_2 = 6;
    }

}

Seller_action 是卖家

的子class
class Seller_action extends Seller{   //Seller action is subclass of Seller
    int SA_1, SA_2;
    Seller_action()
    {
        SA_1=7; SA_2 = 8;
    }
}

然后创建以下对象(继承父对象的所有值):

User_action ua = new User_action();
Seller_action sa = new Seller_action();

ArrayList<Object>[][] table = new ArrayList[10][10];
table[0][0] = new ArrayList<Object>(); // add another ArrayList object to [0,0]
table[0][0].add(ua); // add object to that ArrayList