- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA和C区别
JAVA 和 C++都是面向对象语言。也就是说,它们都能够实现面向对象思想 (封装,
继乘,多态)。而由于 c++为了照顾大量的 C 语言使用者,
而兼容了 C,使得自身仅仅成为了带类的 C 语言,多多少少影响了其面向对象的彻底
性!JAVA 则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程
序设计语言进行了深入细致研究的基础上,据弃了其他语言的不足之处,从根本上解决了
c++ 的固有缺陷。
Java 和 c++ 的相似之处多于不同之处,但两种语言问几处主要的不同使得Java 更容易
学习,并且编程环境更为简单。
我在这里不能完全列出不同之处,仅列出比较显著的区别:
1.指针.指针
..指针指针
JAVA 语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管
理功能,从而有效地防止了 c /c++语言中指针操作失误,如野指针所造成的系统崩溃。但
也不是说 JAVA 没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利
于 Java 程序的安全。
2 .多重继承.多重继承
..多重继承多重继承
c++支持多重继承,这是 c++ 的一个特征,它允许多父类派生一个类。尽管多重继承功
能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java 不支持多重
继承,但允许一个类继承多个接口(extends+implement),实现了 c++多重继承的功能,又避
免了 c++ 中的多重继承实现方式带来的诸多不便。
3 .数据类型及类.数据类型及类
..数据类型及类数据类型及类
Java 是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类
型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,
这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的。此外,
Java 中取消了c /c++ 中的结构和联合,消除了不必要的麻烦。
4 .自动内存管理.自动内存管理
..自动内存管理自动内存管理
Java 程序中所有的对象都是用 new 操作符建立在内存堆栈上,这个操作符类似于 c++
的new 操作符。下面的语句由一个建立了一个类Read 的对象,然后调用该对象的work 方
法:
Read r=new Read();
r.work();
语句 Read r =new Read() ;在堆栈结构上建立了一个Read 的实例。Java 自动进行无用
内存回收操作,不需要程序员进行删除。而c 十十中必须由程序贝释放内存资源,增加了程
序设计者的负扔。Java 中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删
除。JAVA 里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。
5 .操作符重载.操作符重载
..操作符重载操作符重载
Java 不支持操作符重载。操作符重载被认为是c 十十的突出特征,在Java 中虽然类大
体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。Java 语言不支持操作符
重载是为了保持 Java 语言尽可能简单。
6 .预处理功能.预处理功能
..预处理功能预处理功能
Java 不支持预处理功能。c /c 十十在编译过程中都有一个预编泽阶段,即众所周知的
预处理器。预处理器为开发人员提供了方便,但增加丁编译的复杂性。JAVA 虚拟机没有预
处理器,但它提供的引入语句(import)与 c 十十预处理器的功能类似。
7. Java 不支持缺省函数参数不支持缺省函数参数,而,而 c 十十支持十十支持
不支持缺省函数参数不支持缺省函数参数,,而而 十十支持十十支持
在 c 中,代码组织在函数中,函数可以访问程序的全局变量。c 十十增加了类,提供了
类算法,该算法是与类相连的函数,c 十十类方法与 Java 类方法十分相似,然而,由于 c
十十仍然支持 c ,所以不能阻止 c 十十开发人员使用函数,结果函数和方法混合使用使得程
序比较混乱。
Java 没有函数,作为一个比 c 十十更纯的面向对象的语言,Java 强迫开发人员把所有
例行程序包括在类中,事实上,用方法实现例行
文档评论(0)