• java VS c#,异同点


      因工作安排,后期需要维护一个java项目。所以稍微熟悉下java,开此篇记录下java与c#的区别点,方便增强自己学习效果。肯定是不全的,可能是有错的,欢迎批评指正。

    一、关键字

    描述 C# Java 备注
    引用其他类库 using import  
    命名空间 namespace package 声明一组相关对象的作用域。
    定义常量 const final  
    访问控制修饰符 internal default java默认为default,c#默认为private
    表示父类 base super 用于从派生类中访问父类的成员。
    继承类 : extend  
    继承接口 : implements  
    不允许继承 sealed final 防止类派生;防止方法和属性在派生类中被重写。
    类型判断 is instanceof 评估对象与给定类型是否兼容。 
    循环遍历 foreach() for(type element: array) 例:for(int x : numbers ){}
    lock synchronized  
    可变数量参数 params T T... 指定采用可变数目的参数的方法参数。
    外部实现的方法 extern native 声明外部实现的方法。
    布尔值 bool boolean  


     

    二、代码结构

    • java中,如果一个类定义在某个包中,那么package语句应该在源文件的首行。package中内容不用花括号包起来,范围适用于全文见。
    • java中,如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该在源文件中最前面。
    • java中,一个源文件中只能有一个public类。
    • java中,一个源文件可以有多个非public类。
    • java中,源文件的名称应该和public类的类名保持一致。
    • java中,调用父类构造函数,需要在子类构造函数中显示调用super(params);C#中在子类构造函数声明后加上:base(param)来实现。

    三、编码风格

    • java中,方法名使用帕斯卡命名法,首字母小写。
    • java中,左花括号不换行。

    四、其他

    • 在 Java 中,int类型前缀0表示8进制;在C#中忽略0,前缀0x表示8进制。
    • 在 Java 中,标识符中允许有美元符($),且允许作为首字符;c#中是@字符。(都是字母数字下划线加前文特殊符号)
    • 在 Java 中,重写父类方法不需父类方法标示为virtual。没有覆盖概念。
    • Java 不支持隐式类型的局部变量(C# 支持 var 关键字)。
    • 在 Java 中,可以仅按值传递参数,而在 C# 中,你可以按引用以及值进行传递。 (C# 提供 ref 和 out关键字,用于按引用传递参数;Java 中无此类等效项)。
    • Java 不支持预处理器指令,如 #define
    • Java 不支持无符号整数类型,而 C# 提供无符号整数类型,如 ulonguintushort 和 byte
    • Java 不支持运算符重载;在 C# 中,可以重载运算符和转换。
    • 在 Java switch 语句中,代码可以贯穿到下一个 switch 部分,但在 C# 中,每个 switch 部分的结尾必须终止 swith(每个部分的结尾必须以 break 语句结束)。
    • 在 Java 中,指定由带 throws 关键字的方法引发的异常,但 C# 没有检查异常的概念 – throws 关键字在 C# 中不受支持。
    • Java 不支持语言集成查询 (LINQ)。
  • 相关阅读:
    linux:shell:tree
    html5,css3
    asp.net web forms page life cycle
    Unobtrusive Javascript
    Multitier architecture
    C#接口的显示实现和隐式实现
    Modernizr
    android w700
    debian e42 wifi
    mstest run dll
  • 原文地址:https://www.cnblogs.com/tobeforever/p/11431057.html
Copyright © 2020-2023  润新知