gpt4 book ai didi

java - 从子类的arraylist到达父类方法

转载 作者:行者123 更新时间:2023-12-02 01:05:05 24 4
gpt4 key购买 nike

我试图从对象 Automobile()、Bus() 的 main() 中的 ArrayList 访问我的父类 Car() 变量和方法,这些对象都继承 Car()。它让我有机会获取 .Class,我知道我可以比较该类是 Automobile 还是 Bus,然后执行一些操作,但我实际上试图通过 getModel() 字符串对 allInOne() ArrayList 进行排序。

public class Car {
private String brand;
private String model;

public String getBrand(){
return brand;
}
public String getModel(){
return model;
}

}

public class Automobile extends Car {
int x;
Automobile(String brand, String model, int x){
super(brand, model);
this.x = x;
}
}

public class Bus extends Car {
int x;
Bus(String brand, String model, int x){
super(brand, model);
this.x = x;
}

main(){

Car first = new Automobile("brand1", "model1", 2);
Car second = new Bus("brand2", "model2", 3);

ArrayList<Object> allInOne = new ArrayList<Object>();

allInOne.add(first);
allInOne.add(second);

//here is the question part

allInOne.get(0).getBrand;

}

最佳答案

不要使用对象列表,而是使用 ArrayList<Car>

ArrayList<Car> allInOne = new ArrayList<>();

然后您可以访问所有这些方法:

allInOne.get(0).getBrand();

如果您想坚持 Object 列表由于某种原因,你可以这样做:

((Car) allInOne.get(0)).getBrand();

关于java - 从子类的arraylist到达父类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57739518/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com