【学习笔记】Super关键字



package com.shine;


public class Entry {


public static void main(String[] args) {

// Parent mParent = new Parent();
// mParent.thought();

System.out.println("*****");

Parent nParent = new Parent("Dada");
nParent.thought();

System.out.println("*****");

Child mChild = new Child();
mChild.thought();

System.out.println("*****");

Child nChild = new Child("Son");
nChild.thought();

System.out.println("*****");
}
}


class Parent {

public String name;

// public Parent() {
// System.out.println("Parent constuctor...");
// }
//
public Parent(String s) {
name = s;
}

public void thought() {
System.out.println(name + "thought...");
}
}


//super的第一种用法:在构造器中使用super();在构造器中使用super()经常用于调用父类构造器
//当父类不存在无参构造器时,子类构造器必须明确显示super调用父类构造器,其参数必须与父类构造器参数一致
//如果子类构造器没有明确显示super调用父类构造器,系统默认使用super()调用父类的无参构造器
class Child extends Parent {

public Child() {
super ("");
System.out.println("Child constuctor...");
}

public Child(String s) {
super("");
name = s;
}


//super的第二种用法:在子类方法覆盖中,可以使用super引用父类原有的方法
//此用法可以扩展父类原有的方法
public void thought() {
super.thought();
System.out.println(name + "thinking...");
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值