类型判断符号:
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;