Programming in Scala 2nd 读书笔记 三
Programming in Scala 2nd 读书笔记 3Composition and Inheritance继承类或者抽象类时重写方法需要加上ove
Programming in Scala 2nd 读书笔记 3
Composition and Inheritance
继承类或者抽象类时重写方法需要加上override关键字
实现trait里的方法可以不需要
class声明时直接在()里用val标记参数,可以直接生成对应的字段并被访问
无参数的方法
package bobsrocketspackage navigation {private[bobsrockets] class Navigator {protected[navigation] def useStarChart() {}class LegOfJourney {private[Navigator] val distance = 100}private[this] var speed = 200}}package launch {import navigation._object Vehicle {private[launch] val guide = new Navigator}}Table 13.1 · Effects of private qualifiers on LegOfJourney.distance
no access modifier public access
private[bobsrockets] access within outer package
private[navigation] same as package visibility in Java
private[Navigator] same as private in Java
private[LegOfJourney] same as private in Scala
private[this] access only from same object
private[]的声明在编译后的字节码里都是public,因此可能会存在一些问题
另:关于内部类和外部类这章里没有介绍,简单实验了下应该和java是一样的
不过静态内部类需要声明到companion object里面,即同名的object声明类里