《Java编程思想》笔记07-复用类
怎么用组合和继承?慎用继承!
到底是用组合好,还是继承好。无法简单地下结论。作者给出两者形象化的思考:
- “继承”:
IS-A
关系。就是使用某个现有通用类,有通用的一组接口,只是开发出一个特定版本。比如通用类是车->公共汽车。 - “组合”:
HAS-A
关系。本质不是同一个东西,接口基本不一样,我们只是想用某些功能。比如发动机->车。
“继承”在实战中并不太常用。不应该尽可能地使用继承,而是要慎重。用之前需要问自己一个问题:是否需要从导出类向基类进行向上转型?只有必须向上转型的情况才需要用继承。
所以正确的习惯是:优先考虑“组合”或“代理”。只在确实必要时才考虑“继承”。
final
final
关键字,意味着这个字段,只能被赋值一次!
- 基本型加
final
关键字,成为常量。 - 对象使用
final
关键字很奇怪,只是引用不能再重新指向另一个对象,但对象本事还是能改的。 - 全局静态常量,一般像这样带
public static final
关键字修饰基本型,就是典型的公开静态常量。不但编译时就确认它的值,而且全局独一份儿,而且所有包都可以访问。 final
参数,java
传递参数的时候传递的不是参数的拷贝,函数内部可以直接改变参数的值。如果给函数传递参数的饿时候加上final
,函数内不能改变参数的值。这个特性主要用来向匿名内部类中传递参数用。- 方法被声明称
final
方法,继承它的子类就不能对父类中的此方法进行重写,覆盖。 - 类中的
private
方法,都相当于final
方法,因为它对外部类来说不可见,所以没人能够重写它。 - 类前被加上
final
之后,此类无法再被继承。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 bin07280@qq.com
文章标题:《Java编程思想》笔记07-复用类
文章字数:527
本文作者:Bin
发布时间:2018-03-19, 22:25:43
最后更新:2019-08-06, 00:46:42
原始链接:http://coolview.github.io/2018/03/19/Java%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3/%E3%80%8AJava%E7%BC%96%E7%A8%8B%E6%80%9D%E6%83%B3%E3%80%8B%E7%AC%94%E8%AE%B007-%E5%A4%8D%E7%94%A8%E7%B1%BB/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。