CS61B 课程笔记(Lecture 12 Coding in the Real World, Review)
CS61B 课程笔记(Lecture 12 Coding in the Real World, Review)
编程在现实世界中的应用
- Tesla 装配线(短片)
- Facebook 月活跃用户超过20亿。
当前经济动荡
- 四个导致社会剧变的趋势:
- 城市化
- 技术变革
- 全球老龄化
- 从北美和欧洲的贸易中心转移
- 这一变化速度是工业革命的十倍,规模是其300倍。
预备考试问答
运行时错误与继承
运行时错误示例:
NullPointerException
,IndexOutOfBoundsException
ClassCastException
示例:1
Animal a = (Dog) new Animal(); // 运行时错误
编译错误与运行错误的区别:
1
Dog a = (Dog) new Animal(); // 没有编译错误,但运行时错误
字符串比较
- 使用
==
与.equals()
的区别:==
比较的是内存地址,.equals()
比较的是值。- 对于字符串常量,可能由于字符串池(interning)而共享同一地址。
- 整型(
int
)不受影响,所有整型值相同。 - 对于
Integer
,建议使用.equals()
。
非破坏性方法
- 例如
incrList(int x)
方法的设计需要避免使用new
来创建新的列表。
静态方法访问
- 静态方法只能访问其他静态成员,不能访问实例成员。
- 静态方法可以实例化对象。
类与构造函数
- 如果不显式调用超类构造函数,Java 会自动调用无参构造函数。
- 如果超类没有无参构造函数,则会导致编译错误。
嵌套类的访问
- 外部类的非静态内部类可以访问外部类的实例变量。
- 静态内部类无法访问外部类的实例变量。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Totoroの旅!
评论