如何处理Java x Scala的类广播?

时间:2019-04-08 20:03:49

标签: java scala inheritance

使用Scala x Java时遇到问题。

为了让您了解情况,让我举个简单的例子:

  • Java类
public class Animal {
}
  • Java类
public class Cat extends Animal {
}
  • Scala类
class Dog extends Animal {
}
  • Java类
class Main {
  public static void main(String[] args) {
    Animal animal1 = new Dog(); //Java's Animal receives Scala's Dog reference
    Animal animal2 = new Cat(); //Java's Animal receives a Java's Cat reference
  }
}

我收到如下错误消息:

Type mismatch: cannot convert from Dog to Animal

但是Cat类却没有发生。

有人可以请我解释一下这里发生了什么事

2 个答案:

答案 0 :(得分:0)

在使用以下版本的JDK和Scala时,您的代码应该可以使用:https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html

答案 1 :(得分:0)

由于某种原因,我重新启动了计算机,并且可以正常工作。看起来我的类路径中有问题。