【问题标题】:Change Scala default class access modifier更改 Scala 默认类访问修饰符
【发布时间】:2017-02-19 22:05:11
【问题描述】:

假设我有一堆 Scala 类,我想将其编译并打包成 JAR。

我只想向 JAR 的外部用户公开有限数量的类并“隐藏”任何其他类。

问题:如何在不显式指定要隐藏的类的 private 访问修饰符的情况下实现这一目标?

问题是Scala中的类默认是public的。

理想的解决方案是一些 Scala 编译器选项,将默认类修饰符更改为 private

【问题讨论】:

  • 我很确定这是不可能的,但是您可以通过编译器插件进行更改以实现此目的。 scala-lang.org/old/node/140 但是,老实说,我不完全确定这可以被认为是一种好的做法;我建议您考虑简单地使用 private 关键字,以便您的代码更便携,更容易被不熟悉的人推理。
  • 我想不出任何具有等效访问修饰符的语言,它允许您使用编译器选项更改默认值。

标签: scala package access-modifiers


【解决方案1】:

我想你回答了你自己的问题。 Scala 为这个用例提供了private

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    • 2016-06-15
    • 2019-08-08
    • 2021-12-26
    • 2021-06-10
    • 2011-04-13
    • 2012-03-03
    相关资源
    最近更新 更多