浅析Java语言与C++语言的区别

来源:互联网 发布:为什么要激活windows 编辑:程序博客网 时间:2024/05/22 00:40

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()恢复所有等待中的线程。

原创粉丝点击