上一篇 | 下一篇

华山论剑:C#对Java

发布: 2008-6-25 12:38 | 作者: admin | 来源: | 查看: 7次

C#(C-Sharp)是Microsoft的新编程语言,被誉为“C/C++家族中第一种面向组件的语言”。然而,不管它自己宣称的是什么,许多人认为C#更像是Java的一种克隆,或者是Microsoft用来替代Java的产品。事实是否是这样的呢?

  本文的比较结果表明,C#不止是Java的同胞那么简单。如果你是一个Java开发者,想要学习C#或者了解更多有关C#的知识,那么本文就是你必须把最初10分钟投入于其中的所在。

一、C#、C++和Java

C#的语言规范由Microsoft的Anders Hejlsberg与Scott Wiltamuth编写。在当前Microsoft天花乱坠的宣传中,对C#和C++、Java作一番比较总是很有趣的。考虑到当前IT媒体的舆论倾向,如果你早就知道C#更接近Java而不是C++,事情也不值得大惊小怪。对于刚刚加入这场讨论的读者,下面的表1让你自己作出判断。显然,结论应该是:Java和C#虽然不是孪生子,但C#最主要的特色却更接近Java而不是C++。

表1:比较C#、C++和Java最重要的功能

功能

C#

C++

Java

继承

允许继承单个类,允许实现多个接口

允许从多个类继承

允许继承单个类,允许实现多个接口

接口实现

通过“interface”关键词

通过抽象类

通过“interface”关键词

内存管理

由运行时环境管理,使用垃圾收集器

需要手工管理

由运行时环境管理,使用垃圾收集器

指针

支持,但只在很少使用的非安全模式下才支持。通常以引用取代指针

支持,一种很常用的功能。

完全不支持。代之以引用。

源代码编译后的形式

.NET中间语言(IL)

可执行代码

字节码

单一的公共基类

异常处理

异常处理

返回错误

异常处理。

了解表1总结的重要语言功能之后,请继续往下阅读,了解C#和Java的一些重要区别。

二、语言规范的比较

2.1、简单数据类型

简单数据类型(Primitive)在C#中称为值类型,C#预定义的简单数据类型比Java多。例如,C#有unit,即无符号整数。表2列出了所有C#的预定义数据类型

[8] [9] [10]

字号: | 推荐给好友

评分:0

我来说两句

网络推荐