Java语言的特性:
简单性:
* Java语言的语法特性类似于C++(有没有C++基础没关系,各有各得好处);
* Java语言摒弃了C++中容易引发错误的地方,例如指针和内存管理等;
* Java 提供了非常丰富的类库供我们使用(丰富不代表包罗万象,很多时候都需要自己写新的类库,我觉得Java更像是给我们提供了丰富的沙子和水泥,想要房子?好啊,你设计吧,设计完了自己盖。如果和C#比较一下,C#就像是地产商,想要房子?我这里有两居室、三居室和花园洋房,马上就能交钥匙,要哪个?)。
安全性:
* 不会引起致命的错误;
* 到目前为止,没有任何一种Java病毒(记得参加SUN公司的JavaOne大会,主持人跑出来非常兴奋的告诉大家:“到目前为止,还没有出现Java病毒。”);
* 基于网络的安全管理机制;
可移植性:
* Java是一种跨平台的开发语言(就像是金鱼要生活在鱼缸中,鱼缸却能放在不同的家中,金鱼跨平台了吗?没有,跨平台的是鱼缸。相同的道理,Java运行于虚拟机JVM上,JVM有Windows版、Linux版、Unix版等,所以Java就跨平台了)。
面向对象性:
* Java是一种纯面向对象OOP的编程语言(近年来OOP如日方中,其中Java起到了很大的推动作用,但Java不是第一个,也不是最后一个OOP语言)。有这么一句经典的,最令初学者头痛的概念:“万物皆为对象”,我在初学的时候就被这句话(忽悠)了一个月。
健壮性:
* 没有指针使Java 减少了内存出错的可能;
* 实现了真数组,避免数据覆盖;
* 异常管理机制。
多线程性:
* Java为我们提供了强大的多线程机制。
体系结构中立:
* Java是一种不带平台特点的语言(将Java编译成一种.class文件,可以在任何安装有JVM的机器上运行);
解释执行与高性能:
* Java 解释器能直接运行目标代码指令(评价:够用、绝对够用)。
分布式:
Java 有强大的基于网络的类库供我们使用(有很多著名的支持分布式运算的软件都是使用Java开发)。
动态性:
* 准确的讲Java不能称为动态语言(动态语言是指程序在运行时可以改变其结构),然而Java的反射机制赋予了它对类动态加载调用的能力,所以很多朋友都称Java为准动态语言。