北大青鸟光谷校区 旗下网站:武汉官方招生网站 青鸟光谷校区网站 企业人才服务网 青鸟学社 青鸟在线

C++

武汉北大青鸟 > C++ > 软文 >

时间:2012-01-11 17:10作者:武汉北大青鸟 点击:
做Java 已经几年了,以前也学习过 C++ ,但是从来没有真正对比过 Java 和 C++ 的具体不同。现在项目要用 VC ,

     做Java 已经几年了,以前也学习过 C++ ,但是从来没有真正对比过 Java 和 C++ 的具体不同。现在项目要用 VC ,熟悉中不得不把两者做个比较。
 

     这里只是简单罗列出两者在语言上的不同, Java 偏应用层, C++ 偏低层,做为一个软件开发着,是应该掌握的,这可是我们计算机专业的看家语言,目前市场上 60% 的人会 Java, 40% 的人会 C++ ,这篇文章没有具体的展开。如果某本书是以这种方式写的,即实战型的,对有经验的人来说,会接受很快。
 

      请大家始终记得 OOP 的三大精神 --------- 封装,继承,多态。 
    

    1 . Java 是完全封装的,而 C++ 的函数是可以定义在 Class 的外部的。从这里就可以看出 C++ 的 OO 思想不够彻底,至少在封装这一点上。
 

   2. C++ 中有拷贝构造函数,可以把一个对象的属性 copy 到另一个对象里 , 也叫对象赋值,而 Java 是用 Clone 实现的。
 

   3. Java 的世界是 Object 世界(当然除了基本类型,这是 Java 美中不组的一点),对象之间的关系是 Reference 的,象 C++ 中的指针,我们叫他句柄。但在 C++ 中对象之间是可以直接赋值的!在 Java 中只是句柄和句柄之间的转换! Java 和 C++ 都有 this, 在 C++ 中 this 表示指针,而在 Java 我们叫他引用。但在用法上大同小异。
 

   4. C++ 中有所谓的析够函数,而 Java 中也有一个类似的东西叫做 finalize, 是 Object 类的一个方法, 但 Java 中有个很好的东东就是自动回收机制。而 C++ 中你 new 的东西不 delete 的话是不会自动清理内存的,所以 Java 要省事些啊 !
 

   5 . C++ 的函数有个默认的概念,在 Java 中是没有的。但 JDK1.5 的范型的 String… 参数似乎有点象 , Java 在最初抛弃 C++ 一些思想之后,现在似乎也慢慢也入了一些东西!
 

  6. static 关键字 , C++ 和 Java 中意思基本相同, C++ 中 static 变量必须在类外初始化。
 

  7. C++ 中的对象成员要在本类的构造函数之前构建,而 Java 没有这个规则, Java 的对象和普通变量一样简单。
 

 8. C++ 有个常量修饰符 const, 而 Java 中一个常量一般是用 static + final 等价实现。 
 

  9 .可能写 Java 的朋友很不习惯的就是 C++ 的每个类都有个分号结尾。 
 

  10 . Java 有个很好的东西叫包,使得全世界的类不会发生冲突。在 C++ 也有一个类似的东西叫做作用域运算符 “ :: ” 表示。
 

   11 . Java 在子类的方法重载中要想调用父类的同名方法只要用 Super 关键字,而在 C++ 中要用基类名 + 域运算符( :: )以达到同样的效果。
 

   12. C++ 有多重继承,而在 Java 中只是单根继承,但是用 Java 的接口可以达到类似的效果。多重继承有二义性,但可用虚基类( virtual )解决该问题。
    13. Java 中的多态完全是继承的原因,而 C++ 除了继承又引入了虚基类和虚函数(实现了运行时多态性)的概念。

    14. C++ 中声明了纯虚函数的类为抽象类,而在 Java 中有 abstract 声明的 Method (当然类也要用 abstract 修饰) 就是抽象类 , 在抽象类方面 Java 原自 C++, 即两者观念上是一致的。
 

    15 . Java 中的对象全都是 new 出来的,而 C++ 不同,当然他也有 new 功能, Java 中理论上你可以随意 new Object, 他有 gc 这个对象管家,而 C++ new 的 Object 你一定要手动 delete 他。
 

    16 . C++ 中有运算符重载 , Java 里只有 + 号有重载的意思,不过在 JDK5 中也有其他的运算符重载,比如两个类对象可以直接相加。 C++ 可以将自定义类型强制转换为基本类型,如将一 Test 类的对象,强制转换为 int 类的对象,要达到这个效果就要用到 operator 关键字, Java 除了 8 大基本类型以外都是 OO 的,但 Java 也提供了基本类型的对应 Class 类型。
 

     17 . C++ 中有模板的概念 ( 类模板,函数模板 ) ,在早期的 Java 版本 (1.4 之前 ) ,没有模板的概念,但 1.5 引入了范型,与模板的思想类似,这可是好东西。如果你看 Java 原码库,你会发现他变化的好大。
 

(责任编辑:admin)

将本文分享到:

------分隔线----------------------------
一分钟了解...
优秀毕业生

姓名:张磊

毕业于:2011-01

就业单位:广东南洋长胜酒店有限公司

职位:系统维护工程师

月薪:8000

姓名:王远洋

毕业于:2010-01

就业单位:武汉四通创新集成有限责任公司

职位:项目经理

月薪:8000

姓名:魏德强

毕业于:2007-01

就业单位:北京国通创安报警网络技术公司

职位:网络技术工程师

月薪:20000

姓名:胡瑞峰

毕业于:2010-02

就业单位:蓝迅电脑网络技术服务公司

职位:CEO

月薪:100000

姓名:廖思雨

毕业于:2011-02

就业单位:武汉擎天网络工程有限公司

职位: 技术支持工程师

月薪:

姓名:李丙超

毕业于:2011-05

就业单位:杭州星网视易信息系统有限公司

职位:技术支持

月薪:5500

姓名:郑沆

毕业于:2011-06

就业单位: 浙江盘石信息技术有限公司

职位:技术支持工程师

月薪:5000

姓名:宋林峻

毕业于:2011-05

就业单位:东风悦鼎经贸有限公司

职位:网络管理员

月薪:4500

姓名:黄鹏

毕业于:2011-2

就业单位:武汉骏升科技有限公司

职位:销售工程师

月薪:4000

姓名:康健

毕业于:2011-03

就业单位: 杭州百通快车网络技术服务有限公司

职位:网络工程师

月薪:6000

在线问答

请输入您的手机号,我们将在工作日一小时之内,通过手机短信回复给您。
 

本校是华中地区成立时间最早、规模最大、开设科目最全的北大青鸟 IT职业教育培训学院。自2003年以来毕业学员4000余人,由本学院推荐就业于北京、上海、深圳、广州、武汉、成都等地。

主要开设培训项目:BENETJAVA/.NET/ANDRIOD网络安全网络营销培训等

联系我们
电话:027-878506402 87506403
您还可以通过以下方式与我们联系:
关注我们
  • 官方微博
  • 光谷名师堂
 
Copyright 2003-2011 武汉祉满教育有限公司 版权所有 鄂ICP备11019421号