日期:2014-05-20  浏览次数:20634 次

java 相关
创建一个类,比如A,里面有int id,等成员。然后用这个类创立一个对象a.然后建立一个线性表类Seqlist,创建对象list。。把对象a放到这个list中,使它成为list的第一个元素。。怎么去调用这个对象的id。
Seqlist{public Object[] table;int n }n是线性表长度。
是不是list.table[0].id??这样好像不行,求各位大神解决。

------解决方案--------------------
向下转型:
if(list.table[0] instanceOf A)
((A)list.table[0]).id(如果id为public)或者getId(private if getters default)

------解决方案--------------------
你想吧

你告诉 SeqList , 数组是 Object[],每一个元素都只是Object对象

于是list[0] 返回的也只能是个Object对象(因为你没有明确告诉它具体是什么类型)

而对于Object类,它没有id字段,所以不能用.id访问

那么,于是你就需要显式、明确的告知,list[0]是A类对象。于是就用LS说的强制转换,OK