1.2 Java语言的特性
Java语言的作者们编写了具有广泛影响力的Java白皮书,里面详细介绍了他们的设计目标以及实现成果,还用简短的篇幅介绍了Java语言的特性。下面将对这些特性进行扼要的介绍。
1.简单
Java语言的语法简单明了,容易掌握,而且是一种纯面向对象的语言。Java语言的简单性主要体现在以下几个方面:
语法规则和C++类似。从某种意义上讲,Java语言是由C和C++语言转变而来的,因此C/C++程序设计人员可以很容易地掌握Java语言的语法。
Java语言对C++进行了简化和提高。例如,Java语言使用接口取代了多重继承,并取消了指针,因为指针和多重继承通常使程序变得复杂。Java语言还通过垃圾自动收集,大大简化了程序设计人员的资源释放管理工作。
Java语言提供了丰富的类库、API文档以及第三方开发包,另外还有大量基于Java的开源项目。JDK(Java开发者工具箱)已经开放源代码,读者可以通过分析项目的源代码,提高自己的编程水平。
2.面向对象
面向对象是Java语言的基础,也是Java语言的重要特性,它本身就是一种纯面向对象的程序设计语言。Java语言提倡万物皆对象,语法中不能在类外面定义单独的数据和函数,也就是说,Java语言最外部的数据类型是对象,所有的元素都要通过类和对象来访问。
3.分布性
Java的分布性包括操作分布和数据分布,其中操作分布是指在多个不同的主机上布置相关操作,而数据分布是将数据分别存储在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(统一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。
4.可移植性
Java程序具有与体系结构无关的特性,它可以非常方便地被移植到网络上的不同计算机中。同时,Java的类库也实现了针对不同平台的接口,使得这些类库也可以被移植。
5.解释型
运行Java程序需要解释器。任何移植了Java解释器的计算机或其他设备都可以用Java字节码进行解释执行。字节码独立于平台,它本身携带了许多编译时的信息,使得连接过程更加简单,开发过程更加迅速,更具探索性。
6.安全性
Java语言取消了类C语言中的指针和内存释放等语法,有效地避免了用户对内存的非法操作。Java程序代码要经过代码校验、指针校验等很多测试步骤才能够运行,因此未经允许的Java程序不可能运行,也不可能出现损害系统平台的行为,而且使用Java可以编写出防病毒和防修改的系统。
7.健壮性
Java语言的设计目标之一,是能编写出多方面、可靠的应用程序。因此,Java会检查程序在编译和运行时的错误,并消除错误。类型检查能帮助用户检查出许多在开发早期出现的错误,集成开发工具(如Eclipse、NetBeans)的出现也使得编译和运行Java程序更加容易。
8.多线程
Java语言支持多线程机制,能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能够正确地共享数据。使用多线程,可以带来更好的交互能力和实时行为。
9.高性能
Java编译后的字节码是在解释器中运行的,所以它的速度较多数交互式应用程序提高了很多。另外,字节码可以在程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。
10.动态
Java在很多方面比C和C++更能够适应不断发展的环境,可以动态地调整库中方法和变量的增加,而客户端不需要任何更改。在Java中进行动态调整是非常简单和直接的。