精读《Java核心技术-卷Ⅰ》-Java特性
上一篇文章说到,本篇文章会从Java的11个特性中挑选三个特性进行说明。首先说明Java的11个特性分别包括:简单性、可移植性、面向对象、解释型、分布式、高性能、健壮性、多线程、安全性、动态性,以及体系中立结构。而我要详细进行说明的三个特性,估计您也能猜个大概,分别是:面向对象、简单性以及可移植性。
面向对象
先说面向对象,那什么叫面向对象呢?面向对象(Object Oriented,OO)是一种软件开发方法,是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象包含三个特性:封装、继承和多态。这三个特性后面肯定还会详细进行说明,在此我们就对这三个特性进行一次简要的说明。
封装: 即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。 将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
继承:可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等(够简洁)。另外需要着重说明的一点就是,Java不支持多重继承,多重继承的机制Java是靠Interface实现的,后面的文章会详细进行说明。
多态: 按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。 多态性是允许你将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。多态可以说是面向对象中最重要的概念,可以说,离开多态,就没有面向对象。
需要在这里说明的是,Java的面向对象技术已经非常的成熟,并且与C++相比,Java提供了丰富的运行时自省功能,提高了Java语言的性能和健壮性。
简单性
Java语言的简单性主要从两个方面来进行说明,一个是Java语法是C++语法的一个“纯净”版本。即Java语言中没有头文件、指针运算、虚基类、操作符重载,以及多重继承等复杂的语法。另一个是Java的运行时环境非常的小,因为Java设计之初的目标之一就是能够在小型机器上独立运行。基本的解释器以及类支持大约仅为40KB,即使加上基础的标准类库和对线程的支持也就175KB。这在当时是一个非常了不起的成就。当然,随着技术的不断深化和类库的不断增加,现在的Java类库已经非常强大了。
可移植性
对于Java的可移植性,主要也是从两个方面来说,一个是Java所有的数据类型长度都是固定的,比如int类型就永远是32位。这样做的好处是消除了代码移植时令人头痛的位数转换问题,以及二进制数据以固定的格式进行传输和存储时,消除了字节顺序的问题。另一个是Java的大部分类库都有非常好的平台独立性。比如:文件处理库、正则表达式库、XML库、JDBC、网络连接库,以及线程库等,你都无需考虑具体的操作系统。
上面介绍的三个特性简要的概况了Java语言的特点和优势,后面的文章中,我们会结合Java语言的细节之处,为您详细介绍Java语言的精妙和功能强大之处。
我是徐建航,这是我写的第8篇文章,欢迎你加入007社群,七天写一篇,一起写七年,七年之后一起去南极。
