面向对象的基本特征
所有东西都是对象。对象保存着数据,但可要求它对自身进行操作。
程序是一大堆对象的组合;经过消息传递,各对象知道自己该做些什么。可以将消息想象为一个调用请求,它调用的是从属于目标对象的一个子历程或函数。
每个对象都有自己的存储空间,可容纳其他对象。通过封装现有对象,可制作出新型对象。
每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。
同一类所有对象都能接收相同的消息。
接口规定了可对一个特定的对象发出哪些请求。
Java采用三个显式关键字以及一个隐式关键字来设置类边界:
Public :意味着后续的定义任何人均可使用。
Private :意味着除了自己,类的创建者以及那个类型的内部函数成员,其他任何人都不能访问后续的定义信息。
Friendly :只能在这个包的范围内使用。
Protected :与private相似,只是一个继承的类可访问受保护的成员,但不能访问私有成员。
继承:利用现成的数据类型,对其进行“克隆”,再根据情况进行添加和修改,在继承过程中,若原始类发生了变化,修改过的克隆类也会反映出这种变化。
多型性:将一条信息发给对象时,并不知道对方的具体类型是什么,但采取的动作是正确的。
面向对象的程序设计语言,用来实现多形性的方法叫做动态绑定。编译器和运行期系统会负责对所有细节的控制。
Java中,所有的类都最终从单独一个基础类(Object)继承。
单根结构中所有的对象都有一个通用接口,所以它们最终都属于相同的类型。
在Java中,任何对象都可以看做对象,因此,我们可采用一种统一的语法,即用句柄操纵对象,有点像遥控器,我们操作遥控器(句柄),由遥控器自己操作电视机(对象)。
所有对象都必须创建。
堆栈驻留在常规RAM区域,有些Java数据要保存在堆栈里,特别是对象句柄。但Java对象不放在其中。
堆,常规的内存池,保存了Java对象。
静态存储,也是在RAM里,只是位于固定位置,程序运行期间,static关键字指出的对象的特定元素保存在这里。
常数存储,通常直接位与程序代码内部。
主类型,不是用new创建变量,而是创建一个并非句柄的自动变量。
Boolean,char, byte, short,int, long, float, double, void