继承与多态思想

本文探讨了继承在编程中的核心概念,即子类继承父类方法,以及多态如何体现共性与个性。重点讲解了成员变量访问规则、方法覆盖重写和super与this的关键用法,以及如何通过继承减少代码冗余,实现代码的优化和扩展。
摘要由CSDN通过智能技术生成

继承表达的是一种共享的方法,共享的东西就可以进行抽取,让后封装,优化代码。

 

多态实在继承的基础上反映个体差异,由继承和多态反映的是共性和个体差异,既共性个性统一!

 

继承的核心就是“子类就是一个父类”。

继承关系中对象直接访问成员变量的方法:等号左边是谁,就优先用谁,没有则向上找。

注:等号左边表明到底是创建的父类对象,还是子类对象,如果等号左边是父类对象,那么父类直接在父类中去找,如果父类中没有,则直接报错。如果等号左边是子类,那么优先在子类当中找,因为子类可能覆盖重新定义了成员变量,重名问题,如果子类当中有,那么就用子类的,没有就用父类的,父类当中没有,则程序报错。

一旦子类覆盖重写了父类的成员变量,那么子类对象无法直接访问父类成员变量。

继承关系中,对象间接访问成员变量的方法:方法可以访问成员变量,那么等号左边是谁,就优先用谁的方法,方法是可以间接访问成员变量的,意思是等号左边若为父类,则通过方法可以访问父类的成员变量,等号左边若为子类,则子类对象可以通过this关键字访问子类的成员变量,也可以通过super关键字访问父类的成员变量。

所以子类对象所想访问被覆盖重写了的父类成员变量,那么必须失踪子类间接访问的方式才行。

 

成员方法:出现重名方法时,创建的对象是谁,就找谁,没有找到时向上找。

父类的对象,在父类中找,子类的对象在子类中找,子类中没有则向上找。

但是子类在重写父类方法时,若加了super关键字,则子类方法执行的同时,父类重名方法也别执行。

 

继承还有一个最大的特点就是方法的覆盖重写,在现实生活中,事物是不断发展的,发展意味着不断的有新的产品产生,那么老的产品已经投入到市场进行应用,不可能在更新的时候将老的产品招回,或者就算招回,硬件也不可能支撑新技术的应用,所以需要旧的依旧维持旧的,创建一个新的子类,对发展的内容进行重新扩展,用继承最大限度减少代码重复。所有的创新将在子类中完成。所以继承,方法的覆盖重写,这是一种思想的体现。

 

在继承关系中,super使用的三种方法

1.在子类的成员方法中调用父类的成员变量。

2.在子类的构造方法中调用父类的构造方法(含重载)

3.子类的成员方法中调用父类成员方法(该方法可以是重写的方法)方法是:super.父类的成员方法。

 

this关键字的三种用法:

1.在本类的成员方法中访问本类的成员变量,典型用法。

2.在本类的成员方法用调用本类的成员方法。

3.本类的构造方法中调用本类的构造方法。this(...)必须是构造方法的第一句。

 

java实行的是多级继承,多态的体现不一定是直接子类,也可以是超级子类,继承方法的使用也不一定是直接父类,可以是超级父类,即所有的父类(含超级父类)的方法均可以拿给子类用。

十分关键的是子类也可以直接重写超级父类的方法,从而实现多态。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值