类型判断符号:
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);
}
}
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)、字符转义(@)等。
常量定义:
Java:final string name;
今天事比较多,就到这了。