温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#和Java的相同点与不同点

发布时间:2020-07-01 09:55:44 来源:亿速云 阅读:245 作者:Leah 栏目:编程语言

这篇文章将为大家详细讲解有关C#和Java的相同点与不同点,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

相同点:

都是面向对象编程的语言,都能够实现面向对象的(封装,继承,多态)思想

不同点:

1.   c#中的命名空间是namespace类似于Java中的package(包),在Java中导入包用import而c#中用using。

2.      c#和Java都是从main函数入口的,但是c#中的main函数的首字母必须大写

3.      数据类型:Java跟c#基本都差不多,但是Java的String类型的首字母必须大写,而c#中可以小写也可以大写,还有布尔型,Java中是boolean,c#中是bool。

4.      变量的命名:Java中可以用$符号,而c#中不可以使用。

5.      输出:c#有三种方式输出:Cosole.WriteLine(); Cosole.WriteLine(要输出的值); Cosole.WriteLine("格式字符串",变量列表); 前两种的用法与Java中的ystem.out.println()方法的用法相同,第三种方式是根据占位符输出的,比Java更方便了

6.      控制流语句:c#跟Java类似,还有c#中的switch如果case后面有内容必须要有break;Java可以没有break;

7.      Java中的static final修饰符。在C#中,常量可以用const关键词声明。

8.      访问修饰符:C#中的访问修饰符与Java中的基本对应,但多出了一个internal。简而言之,C#有5种类型的可访问性,如下所示:
public:成员可以从任何代码访问。protected:成员只能从派生类访问。

internal:成员只能从同一程序集的内部访问。

protected:成员只能从同一程序集内的派生类访问。

private:成员只能在当前类的内部访问。

9.      由于C#中不存在final关键词,如果想要某个类不再被派生,你可以使用sealed关键词密封。

10.  集合:两种语言都有集合ArrayList,还有通过键访问值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合List<T>与Dictionary<K,V>更容易了,无需拆箱装箱了,更安全了。

11.  继承:Java中用关键字extends,c#只用":"就行了.调用父类的构造方法Java用super关键字,而c#用base关键字。

12.  多态:抽象类和抽象方法两种语言都用abstract关键字。Java中另外一个类如果继承了它,实现直接重写此方法就可以了;而c#必须加上关键字override实现。C#还比Java多一种虚方法来实现多态。

13.  接口:都用关键字interface定义,Java实现用关键字implements;c#用":"实现。在C#中,接口内的所有方法默认都是公用方法。在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。

14.  C#中的is操作符与Java中的instanceof操作符一样,两者都可以用来测试某个对象的实例是否属于特定的类型。在Java中没有与C#中的as操作符等价的操作符。as操作符与is操作符非常相似,但它更富有"进取心":如果类型正确的话,as操作符会尝试把被测试的对象引用转换成目标类型;否则,它把变量引用设置成null。

15. 声明数组

在Java中,数组的声明方法非常灵活,实际上有许多种声明方法都属于合法的方法。例如,下面的几行代码是等价的:

int[] x = { 0, 1, 2, 3 }; 
int x[] = { 0, 1, 2, 3 };

但在C#中,只有第一行代码合法,[]不能放到变量名字之后。

关于C#和Java的相同点与不同点就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI