C#與Java的幾點區別

來源:互聯網
上載者:User

1.Substring.

在Java中,String類有個substring方法。在C#中,string類有個Substring方法。

他們的功能也不一樣。
Java中:
String s="ABCDEFG";
那麼。s.substring(1,2)的值為"B",因為參數的意思是兩個位置。

C#中:
string s="ABCDEFG";
那麼。s.Substring(1,2)的值為"BC",因為第一個參數是位置,第二個是取字元的個數。

2.解構函式
Java不支援解構函式。而雖然C#支援解構函式,一般也不推薦使用,因為它和C++的解構函式並不一樣。取而代之。一般使用 System.IDisposable介面的void Dispose()方法。

3.分類。(包,名稱空間)

Java中叫package,C#中叫namespace

4.父類引用

Java中叫Super,C#中叫base

5.繼承

Java中用“extends”,C#中就用一個冒號“:”

6.預設存取修飾詞

Java是friendly
C#是private

所以,C#中的類和建構函式一般都要加上public

7.建構函式

Java:


class Father
{
    int n;
    Father(int n)
    {
        this.n=n;
    }
}
class Child
{
    Child()
    {
        this(200);
    }
    Child(int n)
    {
        super(n);
    }
}

C#:


public class Father
{
    private int n;
    public Father(int n)
    {
        this.n=n;
    }
}
public class Child
{
    public Child() : this(200)
    {        
    }
    public Child(int n) : base(n);
    {
    }
}

8.C#支援屬性方法。

如:


public class People
{
    private int _age;
    public int Age
    {
        set { this._age=value; }
        get { return this._age; }
    }
}

而java要這樣寫:


class People
{
    int _age;
    public int getAge() { return this._age; }
    public void setAge(int age) { this._age=age;}
}

9.存取修飾詞

C#中有瞭解決方案,項目這樣的概念。Java中沒有。自然存取修飾詞也不一樣。

C#:

public        --不限制訪問
internal      -- 同程式集(項目,裝配件)可見
protected  --衍生類別可見
private    --本類可見

Java:

public --不限制訪問
protected --衍生類別可見
friendly --本包可見
private --本類可見

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.