我目前正在编写一个库,用户可以在其中创建父抽象类Module的自己的子类。所以这个库已经包含了我写的一些模块,比如ModuleOne,ModuleTwo,.如果我只使用预定义的类,这很容易,因为我知道ModuleOne或ModuleTwo的标识符,所以我可以在函数中创建模块: return new ModuleTwo();
//and so on.
在Scala中,如果我创建了一个对象和伴生类,如果导入了对象,则可以从该类访问使用protected修饰符声明的标识符: protected val X = 42classFoo { def getX(): Int = X但是,不能从类Foo:的子类访问protected标识符:
class Bar extends Foo {除了(隐含的) public之外,有没有什么访问修饰符可以放在X上,这样它就可以