如何检查 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();
我有一个抽象的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();