美文网首页
Java 和 C# 最大的不同是什么?

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

作者: 路过的小哥哥 | 来源:发表于2017-06-01 14:04 被阅读0次

作者:Jaskey Lam

链接:https://www.zhihu.com/question/20451584/answer/30195966

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以下手工翻译自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

相关文章

网友评论

      本文标题:Java 和 C# 最大的不同是什么?

      本文链接:https://www.haomeiwen.com/subject/flqefxtx.html