java继承

末鹿安然 提交于 2020-01-23 00:08:52

继承是面向对象的第二大主要特性,而继承性要解决的就是代码重用的问题,利用继承性可以从已有的类继续派生出新的子类,也可以利用子类扩展出更多的操作功能

继承问题的引出

 

通过以上两段代码的比较,如果按照之前所学习到的概念进行开发的话,那么程序之中就会出现重复代码,而通过分析也可以发现,从现实生活来讲,学生本来就属于人,但是学生所表示的范围要比人表示的范围更小,也更加的具。所以要想解决类似的问题,就只能依靠继承的概念来完成了

继承的实现

继承性严格来讲就是指扩充一个类已有的功能,可以使用如下的语法完成

Ø class 子类 extends 父类{}

对于以上格式有以下几点说明:

Ø 对于extends而言,应该翻译为扩充,但是为了理解方便,统一称为继承;

Ø 子类又被称为派生类;

Ø 父类又被称为超类(Super Class)。

继承的基本实现

 

程序运行结果:姓名:张三,年龄:19

子类也可以扩总自己的方法

 

继承的限制

Ø 限制一:Java不允许多重继承,但是允许多层继承

Ø class A {}

Ø class B {}

Ø class C extends A,B {} // 一个子类继承了两个父类

Ø class A {}

Ø class B extends A {} //B类继承A类

Ø class C extends B {} //C类继承B类

限制二:子类在继承父类的时候严格来讲会继承父类中的全部操作,但是对于所有的私有操作属于隐式继承,而所有的非私有操作属于显式继承。

 

私有的属性只能通过父类的函数引用,但是不能直接使用

限制三:在子类对象构造之前一定会默认调用父类的构造(默认使用无参构造),以保证父类的对象先实例化,而后再实例化子类对象。

 

程序执行结果:

A、A类的构造方法!

B、B类的构造方法!

特别注意:super()此语句在子类的首行

当父类中有无参数构造方法是,super()加不加都没有区别,因为他默认会生生成一个super(),但是父类没有无参数构造方法时,就必须使用super(参数)调用父类有参数构造方法

今天的分享就到这里了,大家看完后学会了吗?

来源:中山网站优化

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!