java中super的用法总结

package com.ssm.java;

/**
 * Super
 * usage1:super.  直接去调用父类的方法和属性。
 * usage2:放在构造器中的第一位,代表引用父类的构造器。
 */
class SuperSub {
    String name;
    void value() {
        name = "China";
    }
    SuperSub(){
        System.out.println("父类,无参构造方法");
    }
    SuperSub(String name){
        System.out.println("父类,有参构造方法");
    }
}
public class SuperUsage extends SuperSub{
    String name;
    void value() {
        name = "Shanghai";
        super.value();      //调用父类的方法
        System.out.println(name);
        System.out.println(super.name);
    }

    SuperUsage(){
        super();//调用父类无参构造函数
        System.out.println("子类,无参构造方法");
    }
    SuperUsage(String name){
        super(name);//调用父类有参构造函数
        System.out.println("子类,有参构造方法");
    }


    public static void main(String[] args) {
        SuperUsage superUsage = new SuperUsage();
        superUsage.value();//输出结果 Shanghai   China


        SuperUsage superUsage1 = new SuperUsage();
        superUsage=new SuperUsage("li");
        /**
         * 输出结果:
         * 父类,无参构造方法
         * 子类,无参构造方法
         * 父类,有参构造方法
         * 子类,有参构造方法
         */

    }
}

Super用法总结:

 * usage1:super.  直接去调用父类的方法和属性。
 * usage2:放在构造器中的第一位,代表引用父类的构造器。

猜你喜欢

转载自www.cnblogs.com/bulrush/p/8940960.html