说到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我最强