Java语言的特性:
-
简单性:
首先最重要的也是贯穿整个Java的一个方面就是Java语言是纯面向对象的语言。
语法规则和C++类似。因为从某种意义上来说,Java语言是由C和C++语言转变而来的。
Java语言对C++进行了简化和提高,例如,Java使用接口取代了多重继承,取消了指针(当时学的很头疼)。其次Java语言还有自己的垃圾回收机制,简单的讲就是Java语言可以自动回收不用的对象、引用等一些东西,这就大大简化了程序员的工作。
Java提供了非常丰富的类库和API文档以及第三方开发包,另外还有大量的基于Java的开源项目,JDK,很多都是开源的,这也就方便了程序员可以分析借鉴别人的项目的源代码以此来提升自己的水平。 -
面向对象
面向对象是Java语言的基础,也是Java语言的重要特性。前面也提过它是一种纯面向对象的程序设计语言。Java提倡万物皆对象,语法中不能在类外面定义单独的数据和函数,换句话说就是Java语言最外面的数据类型就是对象,所有的元素都要通过类和对象来访问。它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为简单起见,Java只支持类之间的单继承,但可以使用接口来实现多继承。可能现在还有些人觉得“面向对象”这个词的概念依旧很抽象,我给你举个例子。冰箱装大象基本都知道,宋丹丹说过分三步打开冰箱门、把大象装进去、关上冰箱门。其实这是一个典型的面向过程的思想。而对于面向对象呢,就是冰箱调用开门的方法开门,大象调用移动位置的方法来进入冰箱,冰箱再调用关门的方法关上门。而冰箱和大象是两个完全独立的对象。冰箱有自己开门和关门的方法,大象有自动的方法。他们自己处理自己的事儿,至于要装大象的话只需要告诉冰箱大象要进去,然后完成后告诉我就OK了。如果这个例子还是不能理解的话,可以找找度娘,挑一些自己可以理解的例子。 -
分布性:
Java的分布性包括操作分布性和数据分布,其中操作分布是指在多个不同的主机上布置 相关的操作,而数据分布试讲数据分别存放在多个不同的主机上,这些主机是网络中的不同成员。Java可以凭借URL(统一资源定位符)对象访问网络对象,访问方式与访问本地系统相同。 -
平台无关性:
Java是“一次编写,到处运行(Write Once,Run Any Where )”的语言,Java程序具有与体系结构无关的特性,可以方便的移植到网络上的不同的计算机中。同时,Java的类库中也实现了针对不同平台的接口,使这些类库可以移植。之所以可以移植主要是由于Java的虚拟机机制。(具体什么是虚拟机呢???找度娘吧~) -
解释型:
运行Java程序需要解释器—就是把在Java虚拟机上运行的目标代码(字节码)解释成为具体平台的机器码的程序。既jdk或者jre目录下bin包目录中的Java.exe。任何移植了Java解释器的设备都可以用Java字节码进行解释执行。Java语言我们也称为解释型语言。 -
安全性:
说到安全性这是人们一直关注的重要话题。而Java语言删除了类似C语言的指针和内存释放等语法,这就有效的避免了非法操作内存。Java程序代码要经过代码校验、指针校验等一系列的检测才能过运行,所以未经过允许的程序时不可能出现损害系统平台的行为,而且使用Java语言可以编写一些防毒和防修改的系统。这就体现了Java的安全性。 -
健壮性:
Java的强类型机制、异常处理、垃圾回收机制等都是Java健壮性的重要保证。其次Java程序的设计目标之一,是编写多方面的、可靠的应用程序,Java将检查程序在编译和运行时的错误,并消除错误。类型检查能帮助用户检查出许多在早期开发出现的错误。而许多Java的集成开发工具的出现也是编译和运行Java程序更加简单。 -
多线程:
Java语言是多线程的,这也是Java的一大特性,它必须有Thread类和它的子类来创建。多线程机制能够使应用程序在同一时间并行执行多项任务,而且相应的同步机制可以保证不同线程能过正确的共享数据。任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体中。使用多线程,可以带来更好的实时交互能力。 -
高性能:
前面说了Java编译后的字节码是在解释器中运行的,所以它的速度较多数交互式应用程序提高了很多。另外,字节码可以再程序运行时被翻译成特定平台的机器指令,从而进一步提高运行速度。随之JIT(JustinTime)的发展,Java的运行速度也越来越高。 -
动态性:
为啥Java很流行呢,主要是因为Java在很多方面比C和C++更能适应发展的环境,可以动态调整库中方法和增加变量,而客户端不需要任何更改。