Java 抽象类类型不匹配

标签 java

<分区>

我有一个抽象类

public abstract class Car {
     private int carId;

     public Car(int carId) {
         this.carId = carId;
     }

     public int getCarId(c) {
       return carId;
     }

     public void setCarId(int carId) {
        this.carId = carId;
     }
}

public class Jeep extends Car {

   private String jeepModel;

   public Jeep(int carId) {
       super(carId);
   }

   public String getJeepModel() {
       return this.jeepModel;
   }

   public setJeepModel(String jeepModel) {
       this.jeepModel = jeepModel;
   }

}

public class AbstractClassExample {

   public Car car;

   public static void main(String[] args) {
     car = new Jeep(1);
   }
} 

当我这样做时,出现以下错误:类型不匹配:无法从 Jeep 转换为 Car

我在这里做错了什么?

最佳答案

我不确定您为什么会收到确切的错误消息,但我发现您的代码中还有其他一些奇怪的地方:

  • Jeep扩展Car时,它不需要重新声明carId字段
  • Jeep 构造函数中,您说的是 this.id = carId 但您没有成员字段 id
  • Car 没有您尝试使用的 carId 构造函数

关于Java 抽象类类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19383832/

相关文章:

java - Hibernate 注释与集合

java - 使用Varargs调用方法时出现javassist.CannotCompileException

java - 试图获得未售出的批处理

java - 泛型和 TreeSet

java - 在MapReduce中解析XML文件

java - 通过java访问AD时即时Timelimit错误的原因

java - 线程 "main"javax.crypto.BadPaddingException : Decryption error 中的异常

Java "Aggregate"事务

Java 可执行 Jar 文件

java - 为什么调用构造函数时不需要泛型类型?