在java中创建一个二维数组,用于存储两种对象
Create a 2D array in java to store two kinds of objects
我有一个超级classAgent
。 superclass Agent
有两个 subclasses: 1. User
; 2. Seller
。而这两个子class是User_action
和Seller_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
我有一个超级classAgent
。 superclass Agent
有两个 subclasses: 1. User
; 2. Seller
。而这两个子class是User_action
和Seller_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 用户是代理
的子 classclass User extends Agent{ //user is subclass of Agent
int Agent_1,Agent_2;
User()
{
Agent_1 = 1;
Agent_2 = 2;
}
}
Class卖家是代理
的子classclass Seller extends Agent{ //Seller is sub class of Agent
int Seller_1, Seller_2;
Seller()
{
Seller_1 = 3;
Seller_2 = 4;
}
}
User_action 是 User
的子classclass 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 是卖家
的子classclass 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