首先应该清楚,Java是由C++发展而来的,它保留了c++的大部分内容,类似于c++,
但句法更清晰,规模更?。?更易学 。它是在对多种程序设计语言进行了深入细致研究的
基础上,据弃了其他语言的不足之处,从根本上解决了c++的固有缺陷,而产生的一种
新的完全面向对象的语言 。
Java和c++的相似之处多于不同之处,但两种语言问几处主要的不同使得Java更容易
学习,并且编程环境更为简单 。
因篇幅所限 , 这里不能完全列出不同之处,仅列出比较显著的区别:
1.指针
Java无指针,并且增添了自动的内存管理功能,从而有效地防
止了c/c++语言中指针操作失误,如指针悬空所造成的系统崩溃 。
比w操作返回一对象的引用,类似于c++中的引用;在c++中,
new返回一个对象的指针 。在Java中无指针,不会遇到下面这样的
语句:
Mywork?>Mywork();
没有指针的程序无法访问不属于它的内存,消除了在c++
中?些常见的错误,这有利于Java程序的安全 。
2.多重继承
c++支持多重继承,这是c++的一个特征 , 它允许多父类派
生一个类 。尽管多重继承功能很强,但使用复杂,而且会引起许多麻
烦,编译程序实现它也很不容易 。Java不支持多重继承 , 但允许一个
类继承多个接口(界面),实现了c++多重继承的功能 , 又避免了c++的
许多缺陷 。
3.数据类型及类
住Java‘fJ , 使用了个能和整数湖蝴的布尔类型(bo01ean),它仪有二个值:true或false 。
Java是完全面向对象的语言 , 所有函数和变量部必须是类的一部分 。除了基本数据类型(如
控型初浮点型)之外,其余的都作为类对象,包括中和数组 。对象将数据(Proper山s)和方法
(meth 。d)结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为 。而c++
允许将函数和变量定义为全局的 。
此外,Java中取消了c/c++中的结构和联合,使编译程序更简捷 。
4.自动内存管理
Java程序中所有的对象都是用new操作符建立在堆栈上,这个操作符类似于c++的
new操作符 。下面的语句由一个类Readkcy建立了一个对象,然后调用该对象的work方
法:
配『ArraydLey my们rk;
m?work=new Readkey()
m!work.work()g
这个简单的代码片段突出了Ja调和c十十的一些主要差别,在c十十中,语句Read?
key”ywork在堆栈结构上建立了一个Readkcy的实例 。在JaM中不支持基于堆栈的对象,
所以这条语句建立了一个叫”ywork的变量,该变量中存有对象Readk 。7的引用 。
Javs自动进行无用内存回收操作,不需要程序员进行删除 。而c十十中必须由程序贝释
放内存资源 , 增加了程序设计者的负扔 。Java中当一个对象不被再用到时 , 无用内存回收器
将给它加上标签以示删除 。无用内存回收器在后台运行 , 利用空闲时间工作 。
5.操作符重载
Java不支持操作符重载 。操作符重载被认为是c十十的突出特征,在Java中虽然类大
体上pJ以实现这样的功能,但操作符重载的方便性仍然丢失了不少 。Java语言不支持操作
符重载是为了保持Java语言尽可能简单 。
6.预处理功能
Java允预处理器.因此不支持预处理功能 。c/c十十在编译过程中都有一个预编泽阶
段,即众所周知的预处理器 。预处理器为开发人员提供了方便,但增加丁编译的复杂性 。JaM
没有预处理器 , 但它提供的引入语句(i”Port)与c十十预处理器的功能类似 。
推荐阅读
- 如何投诉美团电商,如何投诉美团电商卖家
- jquery设置单选按钮,jquery设置单选按钮选中,但可改变值
- 大班体育游戏教案丢,大班体育活动丢手绢教案
- go语言apk go语言append原理
- 电脑硬盘锁了后怎么开的简单介绍
- 协同营销如何计算业绩,协同营销如何计算业绩指标
- 手机直播与电脑相连怎么弄,手机直播与电脑相连怎么弄出来
- python角度函数 python角度值
- 苹果ios162新功能平板,苹果平板ipad16g