栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java面向对象之继承

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java面向对象之继承

        继承是多态的前提,如果没有继承就没有多态。继承主要就是共性抽取的问题,使类与类之间产生关联,提高代码的复用性。

继承关系中的特点:

        1、子类可以拥有父类的内容

        2、子类还可以拥有自己特有的内容

        3、java中继承可以使多层继承:class A{       }    class B extends A {            }     

              class C extends B{                }

继承的关系是is-a的关系。例如父类是员工,子类是讲师,讲师就是一个员工这就是is-a的关系。

继承的格式 权限修饰符 class 子类名称 extends 父类名称{………………}

在父子类的继承关系中,如果成员变量重名,则创建谁的对象就有限用谁,假如没有才会从父类里找。

super和this

        super只能在子类中使用,子类可以通过super访问父类的变量和方法,this则是代表子类。如果子类在构造方法中使用super(),则必须将super()放在首行。

 不放首行可以看到,报错。

        super也可以用在当子类中成员变量和父类的成员变量重名时,使用。例如父类中有个变量叫age,子类中也有。就用super.age来区分它们。假如子类中不存在age,那么语句super.age;  age;   this.sge;三个的含义是等价的。

方法的重写(覆盖)

        当子类中出现父类中一模一样的方法时(子类访问权限修饰符大于等于父类访问权限修饰符(不包括private)时 方法名、参数列表都相同),此时需要覆盖重写。覆盖重写可以在父类方法的基础上加上属于自己特色东西。注:静态方法只能覆盖静态。父类中私有方法对外不可见,因此不可被覆盖重写。

父类中的方法:

 

 子类中覆盖重写的方法:

 旁边的标识标志着这是一个方法的覆盖重写。

重写和重载的区别:重写是指在子父类的继承关系当中,子类中存在和父类一模一样(访问修饰符可以不同,子类大于等于父类)的方法。而重载是在本类中方法名相同,参数列表不同(与方法返回值类型无关)的形式叫做重载。

子类中构造方法若调用了super(),那么在代码运行时,会首先回到父类将父类中的构造方法初始化。super中参数不同所指示的构造方法也不相同。this()调用本类其他的构造方法。

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号