1
ArrayBuffer扩展了ResizableArray,其中包含一个受保护的方法swap。但我无法访问交换。我错过了什么?无法从子类ArrayBuffer访问ResizableArray的受保护方法swap?
scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
scala> val x=new ArrayBuffer[Int]()
x: scala.collection.mutable.ArrayBuffer[Int] = ArrayBuffer()
scala> x+=3
scala> x+=5
scala> x.swap(0,1)
<console>:7: error: method swap cannot be accessed in scala.collection.mutable.ArrayBuffer[Int]
x.swap(0,1)
^
是的,保护意味着子类ArrayBuffer可以调用受保护的超类功能swap()。这并不意味着子类的实例创建了对受保护的超类方法的公共访问。 – DrGary 2009-11-01 17:26:39