this:当前对象
this.属性; 当前对象的属性
this([参数]); 当前对象构造函数
必须写在构造函数内的首行
this.函数名([参数]); 当前对象的函数
super:
super.属性;父类的属性
super([参数]); 父类的构造函数
每一个构造函数内都默认有一个无参的super();
父类
package com.zking.test2;
public class Animal {
int age;
String name;
public Animal() {
System.out.println("动物的无参构造");
}
public Animal(String name) {
System.out.println("动物一个参数的构造函数");
}
public Animal(int age,String name) {
System.out.println("动物的两个参数构造函数");
}
}
子类
package com.zking.test2;
public class Monkey extends Animal {
int age;//年龄
String name;//名字
String sex;//雌雄
//无参构造
public Monkey() {
super();
System.out.println("猴子的无参构造");
}
//一个参数构造
public Monkey(int age) {
this.age = age;
System.out.println("猴子的一个 整数参数构造");
}
//一个参数的构造函数
public Monkey(String name) {
this.name = name;
System.out.println("猴子的一个 字符串参数构造函数");
}
//两个参数构造
public Monkey(int age,String name) {
super(1,"动物");
this.age = age;
this.name = name;
System.out.println("猴子两个参数的构造函数");
}
//三个参数构造
public Monkey(int age, String name, String sex) {
this.age = age;
this.name = name;
this.sex = sex;
System.out.println("猴子三个参数的构造函数");
}
}