共同点:
都使用了面向对象的思想(例如封装,继承,多态等),并且两者具有很好的可重用性。
不同点:
- 解释过的Java要比C的执行速度慢上约20倍。无论什么都不能阻止Java语言进行编译。
- 和C++一样,Java也提供了两种类型的注释。
- 所有东西都必须置入一个类。不存在全局函数或者全局数据。
- 所有方法都是在类的主体定义的。所以用C++的眼光看,似乎所有函数都已嵌入,但实情并非如何(嵌入的问题在后面讲述)。
- 在Java中,类定义采取几乎和C++一样的形式。但没有标志结束的分号。没有class foo这种形式的类声明,只有类定义。
- c++允许多继承(坑爹的设计)、java只允许单继承,但是可以从多个接口继承。
- 、c++方法可以声明为虚函数, 虚函数是在运行期根据对象的类型才确定的. c++方法缺省情况下不是虚的,在java里,方法缺省情况下是虚的, 但可以使用final关键字使之声明为非虚的
- JAVA不再支持操作符重载
- JAVA中的许多特性是C++中没有的。其中最重要的三个方面是多线程、包和接口
- JAVA和C++都支持布尔类型的数据,但是JAVA实现true和false的方式和C++不同。在C++中,true是非零值,false是零。在JAVA中,true and false都是预先定义好的常量,并且是一个布尔表达式能得到的唯一的两个值。虽然C++也定义了true and false ,并指定为布尔变量,但是C++自动将非零值转换为true,零值转换为false。这种情况在JAVA中不会出现。
- Java中没有goto语句。
https://blog.csdn.net/followingturing/article/details/5982812