《java编程思想》P125-P140(第七章复用类部分)
1.类的成员默认的是包访问权限。允许包内成员访问
2.super.scrub() 调用基类的scrub方法
3.继承并不是复制基类的接口。当创建了一个导出类(子类)对象时,该对象包含了一个基类的子对象。这个子对象与你直接用基类创建的对象是一样的。区别在于后再来自外部。而基类的子对象呗包装在导出类的对象内部。
4.调用基类构造器是在导出类构造器里要做的第一件事。
5.@override
注解可以防止你在不想重载时而意外地进行了重载.
6.组合(对象成员为类)和继承都允许在新的类中放置子对象。组合是显示这么做,继承是隐式的这么做。
7.关键字protected. 指明,对类用户而言,这书private的,而对于继承于此类的导出类或其它位于同一个包内的类来说,它是可以访问的(protected提供了包内访问权限)
8. 到底用组合还是集成一个最清晰的判断方法就是问问自己是否需要从新类向基类进行向上转型.
9.组合技术通常用于想在新类中使用现有类的功能而非它的接口这种情形.
10.什么时候用组合或继承? 对于类之间 "is a"(是一个)的关系是用继承表达的,而"has-a"(有一个)的关系则是用组合表达的
11.把子类对象赋值给父类引用 是向上转型。