在Java中在构造器中调用另一个构造器,和C#的写法有又那么一点点的不同
public class Apple
{
public String name;
public String color;
public String weight;
public Apple()
{}
//两个参数构造器
public Apple(String name,String color,double weight)
public static void main(String[] args)
{
//通过this调用另一个重载的构造器的初始代码
this(name,color);
//下面this引用该构造器正在初始化的Java对象
this.weight = weight;
}
}
C#是这样的,写在方法签名中
public class MyClass
{
private int _Age;
private string _Name;
public MyClass( string Name):this( Name, 20 )
{}
public MyClass( string Name, int Age )
{
_Age = Age;
_Name = Name;
}
}两都使用了this关键字
如果是调用父类构造器,语法的差别也是类似,Java用super,C#用base
public class Apple
{
public String name;
public String color;
public String weight;
public Apple()
{}
//两个参数构造器
public Apple(String name,String color,double weight)
public static void main(String[] args)
{
//通过this调用另一个重载的构造器的初始代码
super(name,color);
//下面this引用该构造器正在初始化的Java对象
this.weight = weight;
}
public class MyClass
{
private int _Age;
private string _Name;
public MyClass( string Name):base( Name, 20 )
{}
public MyClass( string Name, int Age )
{
_Age = Age;
_Name = Name;
}
}