C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

2年前 (2022) 程序员胖胖胖虎阿
276 0 0

类型判断符号:

  C#:object a;  if(a is int) { }  用 is 符号判断

Java:object a; if(a instanceof Integer) { } 用 instanceof 符号判断

 

类与接口的继承:

   C#:public class MDataRow : List<MDataCell>, IDataRecord, ICustomTypeDescriptor

Java:public class MDataRow extends ArrayList<MDataCell> implements Set

共同点都是在顺序上,先基类,后接口。 

C#的继承与实现,先用":"打头,再用“,“分隔,其中接口都规范用 I 开头。

Java的类继承用extends,接口实现用implements,接口没有“I”开头规范,容易傻傻分不清是类还是接口。

代码规范与编码习惯:

看一小段Java代码:

package Test;
import java.lang.*;

public class Demo {
    int id;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }

    public Demo(int id) {
        super();
        this.id = id;
    }
    
    void write(){
        System.out.print(id);
    }
}

基本比较如下:  

  C#:namespace ; using   ; 方法首字母大写 ; base  调用基类相关成员 ; 默认括号是换行
Java:package     ; import ; 方法首字母小写 ; super 调用基类相关成员 ; 默认括号无换行

 

C#多出来的一些属性与语法: 

由于C#是鉴习Java之后产生的语言,所以C#会比Java多一些东西,这些是有和无的关系,只顺路一提了:

属性、枚举、委托、事件、unsafe(代码指针)、重载复盖方法相关的操作符(override、virtual、new)、引用传参(ref、out)、字符转义(@)等。

 

常量定义:

  C#:const string name; 或 static readonly string name;

 Java:final string name;

 

 今天事比较多,就到这了。

相关文章

暂无评论

暂无评论...