如何检查 ArrayList 的对象 (java)

How to examine objects of an ArrayList (java)

我有一个抽象的class Rental...我还有两个子classes,SuiteRental 和SimpleRoomRental 继承了Rental class。我在第三家 class 酒店(未与其他酒店相连)中有一个 ArraList,其中包含对象 SimpleRoomRental 和 SuiteRental。

所以,我想检查每个对象(可能用 instance_of),但我不能创建一个 Rental 对象(因为它是抽象的 class)。我应该声明什么类型 'k' 对象?!?

有什么想法吗?

public void calculateTotalRentalFees (){

      double price=0; 

      for (int i=0; i<rentals.size(); i++){

          if (k instanceof SimpleRoomRental){
            SimpleRoomRental y= new SimpleRoomRental();
            price=price + y.calculateCost();

          }else if(k instanceof SuiteRental){
              SuiteRental z=new SuiteRental();
              price=price + z.calculateCost();

          }

      }
  }

我还有一个包含 calculateCost() 方法的接口。

public interface Cost {

public interface Costs {
     double calculateCost();             
}    

}

感谢您的宝贵时间

通过使用接口,您还可以同时处理它们,这就是使用多态性的好处,它们甚至可以对该方法有不同的实现!

RoomRental rental = new SimpleRoomRental(); 
// You can use too: new SuiteRental();
price = price + rental.calculateCost();