笔记:
this 当前对象
- this.属性; 当前对象的属性
- this([参数]); 当前对象构造函数
必须写在构造函数内的首行
- this.函数名([参数]);当前对象的函数
super 父类
- super.属性;父类的属性
- super([参数]);父类的构造函数
每一个构造函数内都默认有一个无参的super();
代码案例:
父类
package com.zking.qiao;
public class Tiger {
public Tiger() {
System.out.println("老虎的无参构造函数");
}
public Tiger(int age) {
System.out.println("老虎的整数有参函数");
}
}
子类
package com.zking.qiao;
public class Animal extends Tiger{
int age;
String name;
char sex;
public Animal() {//默认无参构造函数
//默认的 super(); 先跳到父类的无参构造函数,再回此函数执行
this(66);//先跳到19行执行,再执行这个函数
this.age = age;
System.out.println("动物的无参构造");
}
//一个参数的构造函数
public Animal(String name) {
this.name = name;
System.out.println("动物的字符串构造函数");
}
public Animal(int age) {
this.age = age;
System.out.println("动物的整数构造函数");
}
//两个参数的构造函数
/**
* 参数顺序不一样,执行结果也不一样
* @param age
* @param name
*/
public Animal(int age, String name) {
this.age = age;
this.name = name;
System.out.println("动物的整数,字符串构造函数");
}
public Animal(String name, int age) {
this.name = name;
this.age = age;
System.out.println("动物的字符串,整数构造函数");
}
//三个参数的构造函数
public Animal(int age, String name, char sex) {
this.age = age;
this.name = name;
this.sex = sex;
System.out.println("动物的三个参数构造函数");
}
}
测试代码:
package com.zking.qiao;
public class TestAnimal {
public static void main(String[] args) {
Animal a = new Animal();
}
}