1. java中类继承,如果父类方法要重写,不用加任何关键字;而C++却要加 virtual 关键字。
2. Java中,super可以表示父类,this表示类本身。
3. C++的类可以多继承,即一个类有多个父类;而java只能单继承,即一个类只能由一个父类继承。
4. C++类继承采用符号“:”,而java类继承采用关键字“extends”。
5. C++中的域运算符用“::”,指针运算用“->”;而java中这些运算符都用运算符“.”。
6. C++中包含文件采用预处理命令“#include”,文件层级之间用符号“\”隔开;而java中采用关键字“import”以包的形式导入,文件层级之间采用符号“.”隔开。
7. C++中所有的程序代码都在一个“*.h”或者“*.cpp”文件里面;而java的程序代码是在包package里面。
8. C++中声明常量的关键字是“const”;java中声明常量的关键字是“final”,只不过java中关键字final还有另外的作用:当一个成员函数被定义为final,则这个成员函数不能被重写;当一个类被定义为final,则这个类不能被继承。
9. C++的接口是通过定义纯虚类来实现的;而java是通过使用关键字“interface”定义实现的,java的接口可以多继承,一个接口可以拥有几个父接口(也叫做接口的扩展),实现接口的类必须要有关键字“implement”来定义。
10. 在java中方法的局部变量位于栈上,类对象位于堆上,所以方法内部类对象不能使用局部变量,但是可以使用常量。
11. Java中创建多线程有两种方法,一种是类实现“Runable”接口,一种是类继承“Thread”虚类,然后这两种方法都要对run()函数进行重写;C++创建多线程有三种办法,一种是用Windows的API函数“CreateThead()”,一种是MFC中的函数“AfxBeginThread()”,一种是MS的“_beginthreadex()”函数。
12. Java多线程的调度方法有:setPriority(设置优先级),sleep(睡眠),join(加入),yield(让步);
13. Java线程同步采用关键字“synthronized(锁的标志)”,同步代码块的格式为:synthronized(threadname)。
14. Java多线程间实现通信,需要用到如下3个方法:wait()表示让当前线程进入等待状态,notify()表示恢复一个等待中的线程,notifyAll()恢复所有等待中的线程。