• java和c++的区别


    java和c++的区别

    1.指针

    c++中的指针是非常重要的环节,有着严格的指针回收机制。JAVA无法找到指针来直接访问内存,并且增添了自动的内存管理功能,从而有效地防止了内存操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。

    2.多重继承

    c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。但是java不支持多重继承,但允许一个类继承多个接口(extends+implement)。

    3. 数据类型及类

    C++可以定义全局变量或函数,允许在类外定义。但是java中的变量和函数必须在一个类中,不能在类外定义函数或者变量。Java中取消了c/c++中的结构和联合。

    4. 自动内存管理

    Java自动进行无用内存回收操作,不需要程序员进行删除。而c++中必须由程序员释放内存资源。Java中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。JAVA里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。

    5.操作符重载

    Java不支持操作符重载。操作符重载被认为是c++的突出特征。
    6.预处理功能

    Java不支持预处理功能。c/c++在编译过程中都有一个预编泽阶段,即众所周知的预处理器。JAVA虚拟机没有预处理器,但它提供的引入语句(import)与c++预处理器的功能类似。

    7. Java不支持缺省函数参数,而c++支持

    Java没有函数,作为一个比c++更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。

    8.字符串

    c和c++不支持字符串变量,在c和c++程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(string和stringBuffer)来实现的,这些类对象是Java语言的核心,用类在整个系统中建立字符串和访问字符串元素的方法是一致的。

    9. goto语句

    Java中没有goto语句,但是不排除之后升级会加入。c++支持goto语句,只是很少用到。

    10.类型转换

    在c和c++中有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在c++中可将一浮点值赋予整型变量,并去掉其尾数。Java允许int向float的隐式转换,但是float转int必须由程序显式进行强制类型转换。

    11.异常

    JAVA中的异常机制用于捕获例外事件,增强系统容错能力

    try{//可能产生例外的代码

    }catch(exceptionType name){

    //处理

    }

    其中exceptionType表示异常类型。而C++则没有如此方便的机制。

    12.关于对象的赋值操作

    a1和a2是初始化的两个对象,在C++中,a2=a1的操作表示把a1对象的所有数据复制给a2,a2成为一个不同于a1的新的对象。在java中,该操作表示把a1对象的引用赋值给了a2,事实上a1,a2是同一个对象的引用,因此用a1进行操作和用a2进行操作都是操作的同一个对象。

  • 相关阅读:
    清除陷入CLOSE_WAIT的进程
    Eclipse
    远程连接elasticsearch遇到的问题
    Linux环境Nginx安装
    CentOS安装mysql
    py2exe使用方法
    Python3.4如何读写Excel
    getPhysicalNumberOfCells 与 getLastCellNum的区别
    浅析MySQL中exists与in的使用
    【MongoDB for Java】Java操作MongoDB
  • 原文地址:https://www.cnblogs.com/kangsir/p/6653313.html
Copyright © 2020-2023  润新知