求各位大神给我解释一下这一段代码我标注的困惑,不胜感激,谢谢

分享 未结
0 0 3 9
那人 2018-07-06发布
收藏 点赞

回帖
  • 2018-07-07

    Scala 的 object 在编译后会产生两个 class 文件,例如 object Main 编译后生成 Main.class 和 Main$.class,其中 Main$ 类是真正用于实现 scala object 的单例类, 而Main只是Main$的一个简单装饰器(decorator), 负责对外提供静态方法调用。另外 $ 符号也可以用来引用内部类,例如 A$B$C。下面给出一个示例。

    源文件 Main.scala 如下:

    object Main {
     class A {  
     	class B { 
     	 class $parse 
     	 class `#` 
     	}
     }
    }
    

    执行编译命令 scalac Main.scala 后生成 class 文件如下:

    由于 Java 不支持使用 # 作为标识符,所以在编译时被转换成了 $hash 。

    1 回复
  • 2018-07-07

    谢谢大哥,很感谢您,由于公司项目的原因我刚开始用scala,有好多困惑,真的很谢谢您,谢谢您在百忙之中能够抽出时间浏览,最最最重要的是您能够给我解疑答惑,再次感谢您【大哥,不介意我这么叫您的话,我能否加一下您的qq呢,当然您不愿意的话,那就是我冒昧了,请见谅】

    0 回复
  • 2018-07-08

    @那人 不客气,QQ: 416861875

    0 回复