Java泛型问题

fog*_*ges 2 java generics

我正在开发一个项目,我正在尝试使用泛型,但我很难过.

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

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

我也尝试过创建一个界面,但这也给出了错误.

谢谢

编辑,nfechner的建议

感谢所有的回复!

以下工作(NB:GenericCar是一个由所有汽车实现的接口(例如audi.java),并具有诸如startCar()之类的功能

public class Car{
    private GenericCar mycar;
    public Car(){
        mycar = new audi();
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*ead 5

遗憾的是,泛型不能用于实例化类,而不能用Java实例化.也许你可能会对你的意图更具体一些,但你可能会发现有一些基类Car并让每辆特定的汽车扩展它是有用的.如果在基类Car中定义startCar()方法,Car的每个子类型也将通过多态来使用此方法.

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

public class Audi extends Car{}

public class Toyota extends Car{}
Run Code Online (Sandbox Code Playgroud)

等等.