Scala:从java接口重写方法

Scala:从java接口重写方法,scala,overriding,scala-java-interop,Scala,Overriding,Scala Java Interop,我试图在scala中实现一个通用java接口。我看过: 及 但我还是找不到答案。以下是Spring web的方法签名: T read(Class<? extends T> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException; 它将该方法标记为被覆盖。我的问题是如何在这里保持类型安全性并强制它重写接口方法 问候 编辑 spring界面

我试图在scala中实现一个通用java接口。我看过: 及

但我还是找不到答案。以下是Spring web的方法签名:

T read(Class<? extends T> clazz, HttpInputMessage inputMessage)
            throws IOException, HttpMessageNotReadableException;
它将该方法标记为被覆盖。我的问题是如何在这里保持类型安全性并强制它重写接口方法

问候

编辑

spring界面:

public interface HttpMessageConverter<T> {

T read(Class<? extends T> clazz,
       HttpInputMessage inputMessage)
       throws IOException,
              HttpMessageNotReadableException
}

在java中,您有参数化的接口,但在scala中,您尝试参数化方法。

在java中,您有参数化的接口,但在scala中,您尝试参数化方法。

我认为问题可能是您在read方法中添加了一个类型参数,不要使用类声明中的类型参数:

class MyImpl[T] extends JavaInterface[T] {

  override def read(clazz: Class[_ <: T], ... )

}    

你也可以试着唱U is not to the tune of REM’s Lost My Religation来把这一点敲到家。

我认为问题可能是你在read方法中添加了一个类型参数,而不是使用你的类声明中的类型参数:

class MyImpl[T] extends JavaInterface[T] {

  override def read(clazz: Class[_ <: T], ... )

}    

你也可以试着唱一首《你不是因为REM失去了我的宗教信仰》的曲调,把这一点带回家。

你能提供一个链接给你试图覆盖/实现的方法所在的Spring Web的源代码吗?你能提供一个链接给你试图覆盖/实现的方法所在的Spring Web的源代码吗覆盖/实现?
class MyImpl[T] extends JavaInterface[T] {

  override def read(clazz: Class[_ <: T], ... )

}    
class MyImpl[T] extends JavaInterface[T] {

  /** U is not T */
  override def read[U](clazz: Class[_ <: U], ... )

}