栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java与c++的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java与c++的区别

基本语法不同

·Java文件名要和类名称相同,例Circle.java
·Java是解释型的  c++编译
·Java具备格式的注释,可以被javadoc命令转换为文档
·Java命名规范严格
·Java定义常量的方法不同,用final
·Java类型转换更严格
intx=2.0;×floaty=2.0;×     因为java不会有一个截断的效果而c++会自动截断                                  强制转换应该在最后加上f d 
·字符类型占16个bit   c++ 8bit   
·Java字符串用String定义,每个字符串都是对象

数组定义不同

·数组定义的语法不同
Java数组的定义语法不同  myList
·double [] myList=new doublel10];                                                                                                        //如果不new的话mylist只是具有了指向数组的能力而不能是数组的没名字
·myList是一个引用。·C++数组的两种定义形式:

double myList[10];
double*myList=new double[10];


·数组初始化
。Java对数组自动进行初始化   自动赋初值为0
。C/C++语言不进行自动初始化,其值为任意值

函数定义的区别

·Java函数被称为方法
·函数传参
。Java函数的传参方式有传值、传数组方式
。C++函数的传参方式用传值、传指针(传数组本质也是传指针)、传引用

函数返回指针或引用


·Java函数的返回类型为数组时,其含义与C++的指针函数相似,但Java更好用。

 对象的创建与回收

·创建对象的方式
。Java创建对象的方式:
·Circle myCircle=new Circle();
。C++创建对象的方式:
·Circle c;
·Circle *myCircle=new Circle;
·对象数据域初始化
。Java自动对对象属性进行初始化                                                                                                  。C语言不会自动初始化,未初始化则为任意值

对象存储空同回收


。Java的自动垃圾回收:当存储在堆中的对象(数据)失去引用时,                                                  Java自动垃圾回收垃圾,例如:
·Circle myCircle=new Circle();mycircle = null; //失去引用 对失去引用的数据进行回收

   C++对象空间的回收
·存储在栈中的对象,自动回收;
·存储在堆中的对象,必须由程序员主动用delete删除     

对象生命周期结束时


Java准备回收对象时,会调用finalize函数,                                                                                        如果需要做善后处理工作,如关闭文件的代码可以放这个函数里。(Java回收垃圾时间不确定)C++的对象生命结束时,会调用析构函数。

this引用与this指针

对象数组

 

 

c++左右两种方式都可以  实现多态用右边        

继承相关


·共同的父类
Java所有类的共同父类是Object
。C++中所有类的共同父类是CObject
·super语句
Java使用super语句完成构造函数链的调用(略)  调用父类的构造函数
·protected
。Java和C++用法不同(略)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643880.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号