如何声明可以在java中存储超类和子类对象的数组?

时间:2016-05-09 11:48:46

标签: java arrays

我试图弄清楚如何创建一个可以存储超类和子类对象的数组。

   Book[] books = new Book[10]

我必须使用关键字super或sub吗?请清除我的怀疑。

谢谢

2 个答案:

答案 0 :(得分:2)

让我们假设Book是你的超类,然后你的子类是 - >

Book[] books = new Book[10]

现在是你的数组,

{{1}}

可以存储Book和SuspenseBook对象的对象。

如果有帮助,请告诉我。

答案 1 :(得分:0)

是的,您可以将Subclass对象存储在超类对象数组中。 让我们说你有这段代码:

Animal[] animals = { new Animal(), new Cow()}

这段特殊的代码在第11行有Animal。 此代码将创建一个超类类型的数组(即Cow),并将初始化两个对象 - 一个超类和一个要存储在数组中的子类。 现在,由于子类Animal继承了超类Cow,因此将Animal animals = new Cow();类对象添加到超类数组中可以重写为: df_new_row = pd.DataFrame({'name':['a'],'id':[4],'value':[40.7]}) df_l = df[['id','value']].drop_duplicates().assign(key=1).merge(df_new_row.assign(key=1),on='key',suffixes=('','_2')) df_r = df[['id','value']].drop_duplicates().assign(key=1).merge(df_new_row.assign(key=1),on='key',suffixes=('_2','')) pd.concat([df,df_l,df_r]).drop('key',axis=1) 这是多态,其中超类引用变量可用于存储子类对象的地址。简而言之,超类可以采用子类的形式(书籍定义)。

**因此,为了回答您的问题,您可以将子类对象存储在超类数组中。