简体   繁体   English

Scala:Class Type参数扩展了抽象子类

[英]Scala: Class Type parameter extends abstract subclass

I'm new to Scala, coming from a beginner Java background, so please bear with me. 我是Scala的新手,来自Java的新手,所以请多多包涵。

I have a class, Arbitrage, with an abstract subclass Builder. 我有一个带有抽象子类生成器的套利类。 I would like Arbitrage's type parameter to extend the abstract subclass. 我希望套利的类型参数扩展抽象子类。

Ex: 例如:

   abstract class Arbitrage[T <: Builder[T]] {
    // lots of code
    abstract class Builder[T]{
        // build pattern code
    }
}

However this does not compile, and IntelliJ informs me that it "Cannot Resolve symbol "Builder". If I change the class signature to 但是,这无法编译,并且IntelliJ通知我它“无法解析符号“ Builder”。如果我将类签名更改为

class Arbitrage[T <: Ordered[T]] 

then it compiles, so I'm fairly sure it's an issue with visibility. 然后进行编译,因此我可以肯定这是可见性的问题。

Regards 问候

I solved my problem: 我解决了我的问题:

I was using Java syntax for accessing subclasses, eg, Arbitrage.Builder, what I needed was Arbitrage#Builder, this is the Scala syntax. 我使用Java语法访问子类,例如Arbitrage.Builder,我需要的是Arbitrage#Builder,这是Scala语法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM