我有以下代码:
class Base{
protected val alpha ="Alpha";
protected def sayHello = "Hello";
}
class Derived extends Base{
val base = new Base;
def hello = println(this.alpha +" "+this.sayHello) ;
// def hello = println(base.alpha +" "+base.sayHello) ; // don't compile
}
object MyObj extends App{
val x=new Derived;
x.hello;
}
Run Code Online (Sandbox Code Playgroud)
在课堂上Base,如果我的标签protected与this,代码工作正常; 如果我不标记它this,一切都按预期工作.
是protected和protected[this]相当于Scala呢?如果是,为什么Scala会同时提供?如果没有,它们有何不同?