Java 为什么scala本机方法不能是私有的
在Scala 2.11.0中Java 为什么scala本机方法不能是私有的,java,scala,java-native-interface,native,private,Java,Scala,Java Native Interface,Native,Private,在Scala 2.11.0中 @native private def sampleMethod(argOne: Long): Int 上面的声明给出了以下编译器错误 抽象成员不能有私有修饰符 @本机私有def sampleMethod(argOne:Long):Int 声明本机私有成员方法的正确方式是什么通常,子类不能提供重写私有方法,因此私有方法不能是抽象的。看起来在重构过程中引入了一个bug,它破坏了对本机方法的测试,本机方法通过了测试。我对它发表了评论,它在2.12版中是固定的。注意:@
@native private def sampleMethod(argOne: Long): Int
上面的声明给出了以下编译器错误
抽象成员不能有私有修饰符
@本机私有def sampleMethod(argOne:Long):Int
声明本机私有成员方法的正确方式是什么通常,子类不能提供重写私有方法,因此私有方法不能是抽象的。看起来在重构过程中引入了一个bug,它破坏了对本机方法的测试,本机方法通过了测试。我对它发表了评论,它在2.12版中是固定的。注意:
@native protected def sampleMethod(argOne:Long):Int
编译@native private def sampleMethod(argOne:Long):Int=0
编译但不编译@native private def sampleMethod(argOne:Long):Int=\u给出以下错误>未绑定占位符参数@native private def sampleMethod(argOne:Long):Int=\u我看不到有效的原因。这可能是个bug。如果没有@native注释,您提供的代码示例也无法编译。@colinjwebb是正确的,但错误背后的原因是什么通常,子类不能提供私有方法重写。看起来重构时引入了一个bug,它破坏了对本机方法的测试,本机方法通过了测试。我对票发表了评论。