c#与java_C#与Java的区别
=>預定義數據類型
c#:預定義的簡單數據類型比java多。例如,c#有unit,即無符號整數。
=>c#沒有>>>移位操作符。
=>數組定義
c#:不支持int x[] = { 0, 1, 2, 3 };
=>switch語句
c#:switch后的數據類型可以是sbyte,byte,short,ushort,uint,long,ulong,char,string或枚舉類型(enum-type)。
java:java 1.6(包括)以前,只是支持等價成int 基本類型的數據:byte ,short,char,int(其他的都不可以)。1.7加入的新特性可以支持String類型的數據。
=>goto關鍵詞
c#:goto允許你轉到指定的標簽。不過,C#以特別謹慎的態度對待goto,比如它不允許goto轉入到語句塊的內部。
java:不用goto關鍵詞。在Java中,你可以用帶標簽的語句加上break或continue取代c#中的goto。
=>c#中不存在final關鍵詞,如果想要某個類不再被派生,可以使用sealed關鍵詞。
=>在java中沒有與c#中的as操作符等價的操作符。
=>java中沒有enum類型。
=>java中沒有結構體(Struct)。
=>傳值方式:
c#:對于簡單數據類型,可以通過ref或out以引用的方式傳值。
java:對于簡單數據類型,只能以傳值方式傳值。
=>java中沒有delegate。
=>屬性
c#:可以通過使用get和set定義屬性,訪問時用.號即可。還可以使用對象索引,例如:public?string this [int index] {...}。
java:只能通過方法訪問屬性。
=>繼承
c#:繼承方式為class DerivedClass:BaseClass;在子類中調用父類的方法通過base.Method()。
java:繼承方式為class DerivedClass extends BaseClass;在子類中調用父類的方法通過super.Method()。
=>異常
java:可在定義方法時聲明會拋出異常int Function() throws Exception {...},在調用時必須使用try...catch,否則會編譯不通過。
c#:可在方法內部拋出異常,調用時不要求一定要使用try...catch。
=>接口實現
c#:class A : IA;
java:class A implements IA;
=>常量修飾符
c#:使用const關鍵詞聲明。c#還增加了readonly關鍵詞。
java:使用static final修飾符。
=>與java不同,c#中的接口不能包含域(Field)。且在c#中,顯示為接口的方法指定public修飾符是非法的。
=>c#中,所有的異常都從一個名為Exception的類派生。
=>java:在一個文件中只能有一個public類,而且這個類的名稱必須與文件名一模一樣。
=>命名空間的別名:
c#:允許為名稱空間或者名稱空間中的類指定別名: using TheConsole = System.Console;
java:不允許。
=>程序入口
c#:以Main方法來定位入口的。如果一個程序中沒有一個名為Main的方法,就會出"找不到入口的錯誤"。并可以重載Main,允許有int返回值和空參數的Main。
java:使用的是main。
=>包名與實體名的關系
c#:物理的包與邏輯實體的名稱是完全分離的。
java:包的名字同時也是實際存在的實體,它決定了放置.java文件的目錄結構。
=>java中,java.lang包是默認的包。c#不存在默認的包。
=>默認范圍修飾符
c#:不用任何范圍修飾符時,默認的是protect,因而不能在類外被訪問。
java:默認是default(不用寫出來),意思是只能由跟這個類在同一個包中的類來訪問,比private限制更少,但比protected限制更多。
=>internal訪問修飾符
c#:有internal修飾符,其他與java一樣。共五種訪問修飾符:
public:成員可以從任何代碼訪問。
protected:成員只能從派生類訪問。
internal:成員只能從同一程序集的內部訪問。
protected internal:成員只能從同一程序集內的派生類訪問。
private:成員只能在當前類的內部訪問。
java:沒有internal修飾符。
=>c#仍舊保留了c++的內存手工管理方法,適合在速度極端重要的場合使用,而在java中這是不允許的。
總結
以上是生活随笔為你收集整理的c#与java_C#与Java的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特征选择和特征提取
- 下一篇: c#获取autocad安装位置_Auto