[JAVA] 面向对象编程OOP Note

时间:2022-12-28 07:18:51

面向对象编程OOP Note

OOP五个基本特性
1. 万物皆对象。
2. 程序是对象的集合,它们通过发送消息来告知彼此所要做的。
3. 每个对象都有自己的由其他对象所构成的存储。
4. 每个对象都拥有其类型。
5. 某一特定类型的所有对象都可以接收同样的消息。

OOP五个不同地方可以存储数据:
1. 寄存器
2. 堆栈
3. 堆
4. 常量存储
5. 非RAM存储

对象初始化地方:
1. 在定义对象的地方
2. 在类的构造器内
3. 正要使用对象之前(惰性初始化)
4. 使用实例初始化

Static 关键字
当声明Static事物时,就意味着这个域或方法不会与包含它的类的任何对象关联在一起。所以即使从未创建某个类的任何对象,也可以调用它的static 方法或访问static域。
Static声明的对象系统只分配一份存储空间。
非Static的对象系统会分配多份存储空间。

final 关键字
final来知之编译器数据是恒定不变的。
1. 一个永不改变的编译时常量。
2. 一个在运行时被初始化的值,而不希望它被改变。

访问权限控制
1. 包访问权限(默认) friendly
包内的所有类都可以访问包内其他类的具有包访问权限的成员。
2. public
对每个成员都可见
3. private
类型创建者和类型的内部方法可见
4. protected
继承的类可见