class="article_content clearfix">
class="htmledit_views">
C#是这样的,写在方法签名中
在Java中在构造器中调用另一个构造器,和C#的写法有又那么一点点的不同
class="language-class="tags" href="/tags/JAVA.html" title=java>java">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#是这样的,写在方法签名中
class="language-csharp">public class MyClass
{
private int _Age;
private class="tags" href="/tags/STRING.html" title=string>string _Name;
public MyClass( class="tags" href="/tags/STRING.html" title=string>string Name):this( Name, 20 )
{}
public MyClass( class="tags" href="/tags/STRING.html" title=string>string Name, int Age )
{
_Age = Age;
_Name = Name;
}
}
两都使用了this关键字
如果是调用父类构造器,语法的差别也是类似,Java用super,C#用base
class="language-class="tags" href="/tags/JAVA.html" title=java>java">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;
}
class="language-csharp">public class MyClass
{
private int _Age;
private class="tags" href="/tags/STRING.html" title=string>string _Name;
public MyClass( class="tags" href="/tags/STRING.html" title=string>string Name):base( Name, 20 )
{}
public MyClass( class="tags" href="/tags/STRING.html" title=string>string Name, int Age )
{
_Age = Age;
_Name = Name;
}
}