在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(name,color);
-
- 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)
- {
-
- super(name,color);
-
- 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;
- }
- }