分享

码农中秋送福利:一起找找java的c#的区别

 天道酬勤YXJ1 2016-09-17

这个中秋特别热闹,不知为什么,都中秋节了,一伙华为中兴 联想 微软的 码农居然没有放假,在52debug。net(我爱狄八哥)上打了起来,java和C#到底有什么区别,傻傻分不清。C#当初就是作为java的替代语言设计出来了,而如今,他们各有各的领地,鲜有拔火的机会。码农中秋送福利:一起找找java的c#的区别

理不辨不明,话不说不透,这次大讨论,让我大开眼界,我总结了下java和c#的区别,有不对的地方,别客气,尽管拍砖,同是中秋加班的码农。若是在头条上拍得不爽,就去52debug。net抛抛砖头。

先来说一说Java程序的苦脑。

项目完成后,C/C++/C#程序员开开心心地发布了,享受着程序流通的喜悦

而JAVA程序员在干什么呢:他在网络上搜索:

1 如何把JAR打包成EXE

2 如何说服玩家/用户安装JRE

3 如何把JRE精简后打包入EXE

4 如何让杀毒软件不要误报我的JAVA程序

5 如何教用户设置本地的JRE路径

6 项目在最新JRE下异常怎么办码农中秋送福利:一起找找java的c#的区别

Java程序员莫生气,我们再来对比下Java和C#的区别,吊打C#

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

  2. C# 没有 checked exceptions

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

  4. Java 不允许运算符重载

  5. Java 没有类似LINQ的特性

  6. Java 不支持委托

  7. C# 没有匿名内部类

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

  9. Java 没有静态类

  10. Java 没有 扩展方法(extension methods)

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

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

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

  14. Java 没有类似与'unsafe'的特性

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

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

  17. Java 没有partial types

  18. C# 的interface 不能定义字段

  19. Java 没有unsigned 的整形

  20. Java 没有类型与nullable 的value types

码农中秋送福利:一起找找java的c#的区别

最后总结下,做JAVA的己经飞向宇宙了,搞C#的还被困在.net平台上。唉,人同命不同,各位加班的程序员,努力,赚取你人生的第一个200万。

码农中秋送福利:一起找找java的c#的区别

微信公众号:coding-art (编码之妙)

微信公众号:debug51(我爱debug)

看一看技术大牛的私生活:我爱狄八哥(52debug@net )

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多