面向对象(this和super的区别和应用)
* A:this和super都代表什么
* this:代表当前对象的引用,谁来调用我,我就代表谁
* super:代表当前对象父类的引用
* B:this和super的使用区别
* a:调用成员变量
* this.成员变量 调用本类的成员变量,也可以调用父类的成员变量
* super.成员变量 调用父类的成员变量
* b:调用构造方法
* this(...) 调用本类的构造方法 // 8.10
* super(...) 调用父类的构造方法 //8.10
* c:调用成员方法
* this.成员方法 调用本类的成员方法,也可以调用父类的方法 //8.18
* super.成员方法 调用父类的成员方法 //8.12//8.13
程序都不全 只为展示以上各种调用
8.10
class Son extends Father { publicSon() { this("王五",25); //本类中的构造方法 //super("李四",24); //调用父类中的构造方法
8.12
class Father {
public void print() {
System.out.println("Fu print");
}
}
class Son extends Father {
public void method() {
System.out.println("Zi Method");
}
public void print() {
super.print(); //super可以调用父类的成员方法
System.out.println("Zi print");
}
}
8.18
class Animal {
private String color; //毛的颜色
private int leg; //腿的个数
public Animal(){}
public void eat() { //吃饭
System.out.println("吃饭");
}
}
class Cat extends Animal {
public Cat() {} //空参构造
public Cat(String color,int leg) { //有参构造
super(color,leg);
}
{
this.eat(); this.成员方法 调用本类的成员方法,当下面的方法加注释时候调用父类的方法
}
/*public void eat() { //吃鱼
System.out.println("猫吃鱼");
}*/
}
|