package com.hy.lrq;
/**
*
* @author 李瑞琦
* super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。
* 普通方法:
* 没有顺序限制。可以随便调用。
* 构造函数中:
* 任何类的构造函数中,若是构造函数的第一行代码没有显式的调用super(...);
* 那么Java默认都会调用super();作为父类的初始化函数。 所以你这里的super();
* 加不加都无所谓。
*
*/
public class TestSuper {
public static void main(String[] args) {
//实际创建了三个对象
//1、object 2、Tree 3、Pine
Pine pine = new Pine();
pine.green();
System.out.println(pine.toString());
}
}
class Tree{
public Tree() {
System.out.println("Tree.Tree(创建了一个小树)");
}
public void sleep(){
System.out.println("Tree.sleep(小树在睡觉)");
}
}
class Pine extends Tree{
@Override
public String toString() {
return "Pine []";
}
public Pine() {
System.out.println("Pine.Pine(创建了一个松树)");
}
@Override
public void sleep() {
System.out.println("Pine.sleep(松树在睡觉)");
}
public void green(){
//super指向当前类的直接父类
super.sleep();
}
}
super关键字
最新推荐文章于 2023-03-11 14:18:08 发布