我有一个超类Agent
。超类Agent
有两个子类:1。User
; 2. Seller
。这两个子类是User_action
和Seller_action
的超类。我想创建两个对象。第一个对象是类User_action
。创建此对象的目的是它应该继承类Agent
和类User
的变量和方法(并且,我希望我实现此目标。)。并且,我创建了类Seller_action
中的第二个对象,其中考虑了类似的目标(继承了类Agent
和类Seller
中的变量和方法。)。
有一次,我创建了这些对象(或我认为的实例)我想将它们存储在2D数组中。我不知道该怎么做。而且,这是我第一次使用java,所以我已经阅读了非常基本的内容,现在我正在尝试改进代码。
现在,我的问题是:我怎样才能存储两种类型的东西。你知道,我想这样做的原因是因为我希望所有对象都出现在地理坐标上,我想知道每个人的坐标或地理位置(x,y)。而且,当我来自MATLAB时,最好的方法是将它存储在Matrix(JAVA中的2D数组)中。
我将不胜感激任何建议。非常感谢!
答案 0 :(得分:0)
我认为你应该做的是拥有2个超级类:1 - Agent,2 - Action。每个子类有2个子类,动作有一个User值。然后,您可以创建一系列操作
答案 1 :(得分:0)
我相信,您希望以下列方式设计类,以便对象ua和sa(在下面定义)继承其父级的所有值:
Agent是Parent类:
class Agent { //the parent class
}
类用户是代理
的子类class User extends Agent{ //user is subclass of Agent
int Agent_1,Agent_2;
User()
{
Agent_1 = 1;
Agent_2 = 2;
}
}
类别卖方是代理
的子类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 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 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