1:This关键字可以用于从一个构造方法调用另一个构造方法,可以用于避免重复代码
2:this的第二个用于this.xxx表示成员变量,成员变量的作用范围是 类 避免产生歧义
package com.hone.constructor.testthis; public class Animal {
int age=0;
String color="dark color"; public Animal(int a) {
age=a;
System.out.println("只是初始化年龄:age= "+a);
} public Animal(String c) {
color=c;
System.out.println("只是初始化颜色:color= "+c);
} /*
* 同时初始化age color,其中颜色就采用上面的构造方法
*/
public Animal(int a,String c) {
//this的用法:从一个构造方法中调用另一个构造方法,
this(c);
//this的第二个用于this.xxx表示成员变量,成员变量的作用范围是 类
this.age=a;
System.out.println("同时初始化 age color");
} public Animal() {
//这里面利用this的第一个方法:从一个构造方法中调用另一个构造方法
this(4, "yellow");
System.out.println("默认的构造函数,不含有任何参数");
} public void printInfo(){
this(11); //如果在该函数中想要给狗的年龄赋值是不允许的,
System.out.println("age: "+age+" color: "+color);
} public static void main(String[] args) {
Animal a=new Animal();
a.printInfo();
} }