面向对象具有较强的
适应性
与可拓展性
面向对象的继承Inheritance
- 找出相同类的共同部分
- 将共同部分提取成新的类
- 将旧类以继承关系连接到新类
- 子类可以覆盖父类的方法,来实现字类特有的方法
- 父类比较抽象,字类比较具体
以对象来思考
- 当设计一个类时,要记得对象是靠类的模型塑造出来的
- 对象是已知的事物(实例变量instance variable)表示对象的状态,每个独立的对象都会拥有一份该类型的值
- 对象会执行的动作(方法methods)表示对象的行为
创建对象
- 编写类
- 编写测试用的类
- 在测试用的类中创建对象,并存取对象的变量、调用对象的方法
Java会拾荒(主动管理内存)
创建出来的Java对象会被存储在叫做堆(Heap)
的内存中,这个堆最大的特点是支持回收垃圾(Garbage-Collectible Heap)
,若Java虚拟机
察觉到某个对象将不会再被使用时,便会将其标记为“可回收”
,当内存开始不足,垃圾收集器便会启动来清理垃圾回收空间,让空间能够再次被利用。
问与答
如何创建全局的变量或方法?
使用public
、static
和final
修饰
全局的函数与数据,是否与面向对象的概念相违背?
什么是Java程序,以及如何提交?
Java类由一组类组成,其中有一个类带有启动用的main()方法
,用户需要安装Java虚拟机
才能让程序运行。
若有成百上千个类时要如何提交?是否可以包装成类似单一应用程序的形式?
可将所有文件包装进依据pkzip格式
来存档的Java Archive(.jar
)文件,在该文件中可引入一个叫做manifest
的文件、其内部定义jar的哪个文件带有启动程序的main()方法
要点
- 面向对象设计拓展功能不需要改动之前已经测试好的程序代码
- 所有的Java程序都定义在类中
- 类如同蓝图、描述该类型的对象要如何创建
- 对象自治,你无需在于它如何完成任务
- 对象有已知的事物,并能执行工作
- 对象本身已知道的事物称为实例变量,它代表对象的状态
- 对象可执行的动作称为方法,它代表对象的行为
- 创建类时,可能同时会需要创建独立、测试用的类
- 类可以继承自较为抽象的父类
- Java的程序在执行期是一组会互相交谈的对象