·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++的对象生命结束时,会调用析构函数。
c++左右两种方式都可以 实现多态用右边
继承相关
·共同的父类
Java所有类的共同父类是Object
。C++中所有类的共同父类是CObject
·super语句
Java使用super语句完成构造函数链的调用(略) 调用父类的构造函数
·protected
。Java和C++用法不同(略)



