【Java基础】构造方法调用构造方法

王朝学院·作者佚名  2016-05-29
窄屏简体版  字體: 小  |  中  |  大  |  超大  

【java基础】构造方法调用构造方法 从一个程序开始:

1 class dog 2 { 3 PRivate String name; 4 private String color; 5 private int age; 6 7 dog(String name) 8 //仅给name赋值 9 {10 this.name=name;11 }12 dog(String name,String color)13 //仅给name,color赋值14 {15 this.name=name;//但之前有过类似代码16 this.color=color;17 }18 dog(String name,String color,int age)19 //仅给name,color,age赋值20 {21 this.name=name;22 this.color=color;//之前有过类似代码23 this.age=age;24 }25 /*以上代码缺点,代码重复,26 而且如果修改最初定义的参数(如name)时,27 需要大量修改方法中的参数(3处修改),造成不便*/28 }29 30 class ConstructerDemo 31 {32 public static void main(String[] args) 33 {34 35 }36 }

View Code 此时我们可以使用构造方法来调用构造方法(形式为this(实参)),来解决上述问题,改进如下:

1 class dog 2 { 3 private String name; 4 private String color; 5 private int age; 6 7 dog(String name) 8 //仅给name赋值 9 {10 this.name=name;11 }12 dog(String name,String color)13 //仅给name,color赋值14 {15 //this.name=name;//但之前有过类似代码16 this(name);//改进后17 this.color=color;18 }19 dog(String name,String color,int age)20 //仅给name,color,age赋值21 {22 //this.name=name;23 //this.color=color;//之前有过类似代码24 this(name,color);//改进后25 this.age=age;26 }27 /*以上代码缺点,代码重复,28 而且如果修改最初定义的参数(如name)时,29 需要大量修改方法中的参数(3处修改),造成不便*/30 }31 32 class ConstructerDemo 33 {34 public static void main(String[] args) 35 {36 37 }38 }

View Code 我们要注意的是,对this构造器的调用必须是构造器中的第一个语句。

也就是两点要注意,一是this构造器必须放在构造器中。二是必须为构造器中的第一个语句。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航