繁体   English   中英

在Java中创建2D数组以存储两种对象

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

我有一个超一流的Agent 超类Agent具有两个子类:1. User 2. Seller 这两个子类是User_actionSeller_action的超类。 我想创建两个对象。 第一个对象是User_action类。 创建该对象的目的在于,它应该继承Agent类和User类的变量和方法(并且,我希望可以实现这一目标。)。 并且,我从类Seller_action创建第二个对象,并牢记类似的目标(继承自类Agent和类Seller变量和方法)。

一次,我创建了这些对象(或我相信的实例),然后将它们存储在2D数组中。 我不知道该怎么做。 而且,这是我第一次尝试使用Java,因此我已经阅读了非常基础的内容,现在我正在尝试改进代码。

现在,我的问题是:如何在某种对象中存储两种对象。 您知道,我这样做的原因是因为我希望所有对象都出现在地理坐标上,并且我想知道每个人的坐标或地理位置(x,y)。 而且,正如我来自MATLAB那样,最好的方法是将其存储在Matrix(JAVA中的2D数组)中。

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

我认为您应该做的是拥有2个超级类:1-代理,2-动作。 每个都有2个子类,并且操作具有User值。 然后,您可以创建一个动作数组

我相信,您正在以以下方式设计类,以便对象ua和sa(在下面定义)继承其父级的所有值:

代理是父类:

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是Seller的子类

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM