我有一個抽象類Employee
,基於這一點,我創建了以下子類:如何訪問位於超類數組內的另一個對象內部的對象數組?
FulltimeEmployee
PartTimeEmployee
Salesman
以及一個獨立的類,Orders
。
我使用Orders
類由推銷員構造訂單發送的數組「形容推銷員」:
public Salesman(String firstname, String lastname,int code, String address,
String city,int tk,int phone,String email,int deptcode,int card,
double hours,String cat,int orderno,double salary,
Orders[] order){
super( firstname, lastname, code, address, city, tk, phone, email, deptcode,
card, hours, cat);
this.orderno=orderno;
setBaseSalary(salary);
getSalary(orders);
/////////////////
}
後來,我用數組來計算獎金推銷員,這取決於他所做的銷售額。
在main
,我創建Employee
類型的數組:
Employee employees[] = new Employee[ 7 ];
employees[ 0 ] = salary1;
employees[ 1 ] = salary2;
employees[ 2 ] = salary3;
employees[ 3 ] = partt1;
employees[ 4 ] = partt2;
employees[ 5 ] = sales1;
employees[ 6 ] = sales;
其中每行是不同類型的僱員的(工資=專職,partt =兼職,和銷售=業務員)。
我的問題是,我想打印使用僱員數組的每個銷售員的訂單。 什麼我目前所做的就是
for (int i=5;i<employees.length;i++){
System.out.printf("Orders of Salesman: %S %S",
employees[i].getName(),employees[i].getSurname());
System.out.printf(" Total amount(money) from orders: %,.0f ",
employees[i].earnings());
int j=0;
((Salesman)employees[i]).getOrderNo(arr) ;
//((Orders)employees[i]).getOrderNo();
System.out.printf("ordernumber: %d orderdate:%s description: %s
order amount(money): %,.0f\n ");
}
,問題就出現在這裏:
System.out.printf("ordernumber: %d orderdate:%s description: %s order amount(money): %,.0f\n ");
如何訪問員工陣列推銷員對象內的訂單陣列? 我試過鑄造,但它不會工作,因爲訂單不是員工的子類。
我需要它來打印,例如,
訂單推銷員:1訂購日期:每個售貨員
訂單號13000個 訂單:約翰koun
訂單總額: 10/2/2010說明:機械銷售訂單金額:12000
訂單號:2訂單日期:20/2/2010說明:零件訂貨量的銷售量:1000
請提供您的`Salesman`類的完整列表 – 2010-11-22 20:37:36
注意,構造函數參數被命名爲`order`,但是您將其稱爲`orders`。這段代碼顯然不會編譯。 – pstanton 2010-11-22 21:00:21