(一)声明:
1> 常量:const(c#) -- static final(java)
2> c# 中readonly声明只读属性,该属性只能在初始化器和类的构造器中进行初始化。
3> c# 中unit 声明无符号整数
4> 访问修饰符,c# 与 java 的访问修饰符基本一样,只不过c#多出了internal--成员只能 从同一程序集的内部访问
5> c# 中不存在final关键字,如果想类不被继承的话,可以用sealed
6> c# 中不带任何修饰符时默认为protect,java中为package
(二)函数
1>get/set
2> 主函数Main(c#)/main(java) c#中可以对Main重载,Main可以返回int类型,并允许Main参数为空;java中必须为public static void main(string[] args);
3> 传参:java中原始类型是以值形式,对象以引用形式传递;而c#中可以加ref或out改变原始类型的传参形式,即以引用方式传递;
(三)接口
1> c#中接口不能包含域(属性/field),java可以包含常量域public static final;
2> c#接口中所有方法默认为public且不能带修饰符;而java中可以带public修饰符也可以不带;
(四)package(java)/namespace(c#)包与命名空间
1> c# 允许名称空间或名称空间中的类指定别名,java则不可以
2> java 中,包的名字决定了类放置的物理目录结构的位置;而在c#中,命名空间与物理目录结构是完全无关系的
(五)数组
1>
1> 常量:const(c#) -- static final(java)
2> c# 中readonly声明只读属性,该属性只能在初始化器和类的构造器中进行初始化。
3> c# 中unit 声明无符号整数
4> 访问修饰符,c# 与 java 的访问修饰符基本一样,只不过c#多出了internal--成员只能 从同一程序集的内部访问
5> c# 中不存在final关键字,如果想类不被继承的话,可以用sealed
6> c# 中不带任何修饰符时默认为protect,java中为package
(二)函数
1>get/set
//java
private int xx;
public int get(){
return this.xx;
}
public void set(int xx){
this.xx = xx;
}
yy = Class.getXx();
Class.setXx(yy);
//c#
private int xx;
public int Xx {
set { xx = value; }
get { return xx; }
}
yy = Class.Xx;
Class.Xx = yy;
2> 主函数Main(c#)/main(java) c#中可以对Main重载,Main可以返回int类型,并允许Main参数为空;java中必须为public static void main(string[] args);
3> 传参:java中原始类型是以值形式,对象以引用形式传递;而c#中可以加ref或out改变原始类型的传参形式,即以引用方式传递;
(三)接口
1> c#中接口不能包含域(属性/field),java可以包含常量域public static final;
2> c#接口中所有方法默认为public且不能带修饰符;而java中可以带public修饰符也可以不带;
(四)package(java)/namespace(c#)包与命名空间
1> c# 允许名称空间或名称空间中的类指定别名,java则不可以
using myData = System.Data;
2> java 中,包的名字决定了类放置的物理目录结构的位置;而在c#中,命名空间与物理目录结构是完全无关系的
(五)数组
1>