当前位置: 代码迷 >> J2SE >> 怎么区别子类和父类
  详细解决方案

怎么区别子类和父类

热度:60   发布时间:2016-04-24 01:56:18.0
如何区别子类和父类
现有一个arraylist。里面存有若干个Item对象和DiscountedItem对象。DiscountedItem类是Item类的子类。

Item类和DiscountedItem类都有字段price。而DiscountedItem购买10以上会有优惠,所以item对象和DIscountedItem对象计算价格的方法不同。

求arraylist里所有对象的价格的总和。

我的思路是:

for(int i = 0; i < arraylist.size(); i++) {
  if(arraylist.get(i)是item类){
  省略.................................
  }

  if(arraylist.get(i)是DiscountedItem类){
  省略.................................
  }
}

现在问题是,不知道用什么方法判断循环中arraylist.get(i)是item类还是DiscountedItem类。

------解决方案--------------------
用反射机制可不可以呢,要不然就在这两个类里加一个变量,0表示父类,1表示子类
------解决方案--------------------
instanceof
------解决方案--------------------
用instanceof判断
------解决方案--------------------
同上。。。
  相关解决方案