c#

八、Java 和 C# 的相同点和区别
相同点:
  都是面向对象的语言,也就是说,它们都能实现面向对象的思想(封装,继承,多态)

区别:

1、开发环境
  C# 用Visual Studio,而JAVA用idea、Eclipse;跨平台Java用虚拟机,C#用Framework;Java所有平台都支持,而C#只有Windows和Linux支持。
  很多网友认为C#语言比Java更先进,如在泛型和linq上,这只能说C#编程体验好。Sun初衷是把Java设计成一个跨平台的Runtime,而Microsoft只是把.Net做成Windows的一个扩展。

2、目前市场上Java比C#占优势
  很多大公司选用Java,如京东,淘宝和百度,现状是在企业更通用,Java做Web类开发很强大,C#做窗体类开发更好。

3、安全性
  Java是开源的,因此在安全性能上是有一些欠缺的,C#经常应用于后台内部网络的开发,C#的安全性是很有保障的。

语法上区别:

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

2.c#和Java都是从main函数入口的,但是c#中的main函数的首字母必须大写,而且有4种写法;

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

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

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

6.方法中传递的参数:两种语言都使用值传递与引用传递,C#的引用传递的关键字是ref与out;ref侧重于修改,out侧重于输出,而Java中都以传值方式;

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

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

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

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值