類型判斷符號:
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;
今天事比較多,就到這了。