现在的位置: 首页 > 综合 > 正文

C#与Java的几点区别

2012年12月18日 ⁄ 综合 ⁄ 共 1318字 ⁄ 字号 评论关闭

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 --本类可见

抱歉!评论已关闭.