Java泛型问题

标签 java generics

我正在做一个项目,在这个项目中我尝试使用泛型,但我遇到了困难。

假设我有很多汽车,它们都在不同的类中实现(例如 audi.java、toyota.java 等),并且每个汽车都有一个名为 startCar() 的方法。现在我想创建一个类 Cars 让其他类使用这些汽车。但是以下将不起作用。我应该如何实现它?

public class Cars {    
 private MyCar mycar;
 private class MyCar <MySpecificBrandOfCar>{
    private MySpeicifBrand mySpecifcCar;
    public MyCar(){}
 }
 public Cars(){
     myCar = new myCar<audi>;
 }
 ..other methods..
}

我也试过创建一个界面,但也出现了错误。

谢谢

编辑,尝试 nfechner 的建议

感谢大家的回复!

下面的工作是否可行(注意:GenericCar 是所有汽车(例如audi.java)实现的接口(interface),并具有诸如 startCar()

public class Car{
    private GenericCar mycar;
    public Car(){
        mycar = new audi();
    }
}

最佳答案

不幸的是,泛型不能用于实例化一个类,在 Java 中不行。也许您可以更具体地说明您的意图,但您可能会发现拥有一些基类 Car 并让每辆特定的汽车扩展它很有用。如果在基类Car中定义了startCar()方法,通过多态性,Car的每个子类也会有这个方法。

public class Car{
    public void startCar(){ }
}

public class Audi extends Car{}

public class Toyota extends Car{}

等等。

关于Java泛型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7305207/

相关文章:

java - 在按下提交按钮后调用 Servlet 中的 Javascript 函数

java - 一个类如何在没有原始类对象的情况下更改另一个类值

c# - 调用泛型类的方法

java - 从泛型列表类型获取 Java 类名

c# - 如何对通用列表进行排序?

java - Oracle ATG 调度程序 : Month oddity

java - 我可以使用光传感器来测量闪光之间的周期吗?有没有我可以使用的类(class)或者

任何类型的 Java 泛型 <?>

generics - 如何在 Rust 中提供通用结构的实现?

java - 使用变量包含 JSP 页面