Java 和 C# 最大的不同是什么?

  以下手工翻译自stackoverflow,由于只是大学学过C#,大部分时间都是写Java,所以只翻译部分能看懂的回答。

  泛型不一样,Java泛型只是编译时的,但C#的泛型在运行时也被维持,而且适用于value types 和 reference types

  C# 没有 checked exceptions

  Java 不允许建立user-defined 的value types

  Java 不允许运算符重载

  Java 没有类似LINQ的特性

  Java 不支持委托

  C# 没有匿名内部类

  C#没有像java 那样的内部类,所有的nested classes 其实都像Java 的静态nested classses

  Java 没有静态类

  Java 没有 扩展方法(extension methods)

  两者的访问修饰符有一定区别

  两者初始化(initialization)的顺序有一定不同。C#初始化变量后才调用父类的构造方法

  Java 没有类似“properties”的东西,而是约定俗成为getter 和setter

  Java 没有类似与"unsafe"的特性

  两者的枚举(enums)有一定的不同,Java的更加面向对象

  Java的参数只能传值,没有类似于C#的ref 和out 传递引用。(注:Java 传递对象只是传递对象引用的copy)

  Java 没有partial types

  C# 的interface 不能定义字段

  Java 没有unsigned 的整形

  Java 没有类型与nullable 的value types

  了解更多请点击:郑州治疗牛皮癣专科医院

  郑州白癜风医院

  河南白癜风医院

转载于:https://my.oschina.net/lchx/blog/736020

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值