继承(二):super关键字和this关键字的区别

本文探讨了Java中子类与父类成员变量及成员函数的区别与联系,包括如何使用this和super关键字来区分子父类同名成员变量,以及成员函数在子父类中的覆盖原则。

/*
在子父类中,成员的特定体现。
* 1、成员变量
* 2、成员函数
* 3、构造函数
*/

/*
* 当本类的成员和局部变量同名,则用this区分
* 当子父类中的成员变量同名,用super区分父类
*
* this:代表一个本类对象的引用(地址)
* super:代表一个父类空间。
*/
class Fu
{
    int num = 4;
}
class Zi extends Fu//super指向Fu,
{
    int num = 5;

    void show()
    {
        System.out.println(super.num+".."+num);//super.num指向父类中的num,但如果不做特殊声明,则num为子类中的num
    }
}
public class ExtendsDemo2 {


    public static void main(String[] args) {

        Zi z = new Zi();
        z.show();//输出4..5

    }

}

 

同时说明,对于成员函数来说,子对父类也存在着覆盖。

即如果子父类中有函数同名,则调用时先看子类,若子类中有这个函数,则率先执行子类函数操作,若没有,才去父类中查找该函数

转载于:https://www.cnblogs.com/sjbas/p/5354620.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值