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:放在构造器中的第一位,代表引用父类的构造器。
有这样一个场景:员工都有基本工资。作为一个属性。放到父类中。然后自己还有一个奖金bonus。结算工资的时候是奖金+基本工资。就是super.salary+bonus.
版权声明:本文为bulrush原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。