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