如何在 Scala 中实现一个 Java 抽象接口

How to implement a Java abstract interface in Scala

如何在 scala 中实现 Java 抽象接口?

抽象接口:

public abstract interface KeyIndex<K>
  extends Serializable
{
  public abstract long toIndex(K paramK);

  public abstract Seq<Tuple2<Object, Object>> indexRanges(Tuple2<K, K> paramTuple2);
}

看来,你的KeyIndexclass是用Java写的。在 Scala 中,每个未标记为 privateprotected 的字段都是 public。 Scala 中没有 public 关键字。 但是在 Scala 中实现 Java class 是可能的:

class KeyIndexImpl extends KeyIndex[geotrellis.spark.SpatialKey]{
  override def toIndex(paramK: geotrellis.spark.SpatialKey): Long = 
    1l

  override def indexRanges(paramTuple2: (geotrellis.spark.SpatialKey, geotrellis.spark.SpatialKey)): Seq[(AnyRef, AnyRef)] = 
    Seq((paramTuple2, paramTuple2))
}