2015-04-03 249 views
0

我有一個超類Agent。超類Agent有兩個子類:1. User; 2. Seller。這兩個子類是User_actionSeller_action的超類。我想創建兩個對象。第一個對象是類User_action。創建這個對象的目的是它應該繼承類Agent和類User的變量和方法(並且我希望我能達到這個目的)。然後,我創建了類Seller_action中的第二個對象,並考慮了類似的目標(繼承Agent類和Seller類的變量和方法)。在java中創建一個二維數組來存儲兩種對象

有一次,我創建了這些對象(或我相信的實例),我想將它們存儲在二維數組中。我不知道該怎麼做。而且,這是我第一次使用java,所以我已經閱讀了非常基本的東西,現在我正在努力改進,因爲我的代碼。

現在,我的問題是:如何存儲兩種obejcts..in東西。你看,我想這樣做的原因是因爲我希望所有對象都出現在地理座標上,我想知道每個人的座標或地理位置(x,y)。而且,當我來自MATLAB時,最好的方法是將其存儲在矩陣(JAVA中的2D數組)中。

我會很感激任何建議。非常感謝!

+4

至少你應該寫一個錯誤的代碼。 – Touchstone 2015-04-03 16:50:13

+1

那麼你的問題到底是什麼? – isnot2bad 2015-04-03 16:56:42

+0

一個數組只能存儲一種數據,所以只有一種類型的對象來自一個類。我需要一個可以存儲兩種對象的二維數組,即來自兩個不同類的對象。我怎樣才能做到這一點? – user3469181 2015-04-03 16:57:59

回答

0

相信的數組,你正在尋找通過以下方式使得對象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; 
    } 
} 

類賣方是子類代理

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

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

User_action是用戶的子類

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 
+0

非常感謝......這真的幫了很多......我有一個相當愚蠢的問題。對不起,關於這一點,所以,在下面的代碼中:ArrayList [] [] list1 = new ArrayList [2] [2];在哪裏寫對象,我不希望提及兩種不同的對象? – user3469181 2015-04-03 17:58:21

+0

嗨,我改變了答案。我認爲Object的ArrayList將是最好的解決方案。一個對象將有2個屬性,x和y座標。而你的x = ua.something和y = sa.something – LittlePanda 2015-04-03 18:03:49

+0

@LittlePanda ...謝謝你.. !!! – user3469181 2015-04-03 18:08:30

0

我認爲你應該做的是有2個超類:1 - 代理,2 - 行動。每個都有2個子類,動作有一個用戶值。然後,您可以創建操作

相關問題