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

说到Java 和 C#的不同嘛~


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

C# 没有 checked exceptions

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

Java 不允许运算符重载

Java 没有类似LINQ的特性

Java 不支持委托

C# 没有匿名内部类

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

Java 没有静态类

Java 没有 扩展方法(extensionmethods)

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

两者初始化(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

 

总之,他们之间的不同还是蛮多的……

 

那么这些不同对使用者而言有有什么不同呢?大概是c#设计者更注重一线开发人员的感受吧,而Java的设计者的关注点则在于应用系统本身。当然对于围观群众而言,两者之间还有一个大不同,也许就是:

C# 更新快;Java更新,呃,更新?

C# 上手简单,大神真的没几个;Java上手一般,大神么,其实也没几个。

 

关于Java与c#的不同,在使用上有什么影响呢?我们在不说语言本身好坏的基础上,下期我们跟大家一起聊一聊,在使用过程中,Java与c#的不同吧~~


接下来就是广告时间,小编有群如下,Java干货群,一大群Java工程师在群里谈谈情、聊聊技术、解决解决问题,为以后大家面基提供了极好的基础~~怎么样,现在就加入大家,一起侃技术吧~群主ID:bingdianlanhuahua 备注“Java群”即可。欢迎关注Java我最强



你可能感兴趣的:(java,技术)