博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java继承两个类_Java入门第十六课:如何用继承的方法定义类
阅读量:6914 次
发布时间:2019-06-27

本文共 1087 字,大约阅读时间需要 3 分钟。

第十六课,尝试使用继承的方法定义其他类(被称为"父类")的子类。如何理解继承?例如水果和苹果的关系,我们可以说苹果继承了水果。

类的继承

Java中类的继承是通过扩展其他类而形成新类来实现的,原来的类称为父类(super class)或基类,新类称为原来类的子类(派生类)。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法,使得父类的基本特征可被所有子类的对象共享。

注意:类的继承不改变类成员的访问权限。如果父类的成员是(public)公有的、被保护的(protected)或默认的(default),它的子类仍具有相应的这些特性。

类继承的定义格式如下:

class #子类名称# extends #父类名称#

{

//类的主体

}

extends关键字直接跟在子类名之后,其后面是该类要继承的父类名称。

代码示例

检查该程序,"Rectangle"类有字段"width","height"和构造函数,在main方法中创建对象打印对象的面积。

e5a3d9245cb51c1a98985ea92872d80d.png

在"Rectangle"类下面添加类"class Square {}"。

100d3210accdfb4603b4aece0f4a7601.png

改动代码,格式为:class Square extends Rectangle

f4b799ca05cfa00c3eecb96b3f8babfd.png

运行,出错。该错误表示我们必须为"Square"类提供构造函数。

我们仅添加了一个参数"size",我们在"Rectangle"类中调用"super"构造函数并以"size"作为宽和高。

c02481a4d418b7a0db7271165ec2dd17.png

在main方法中以"100"为参数新建一个"Square"对象,并将其分配给变量"Square square"。

3776a1fbe41c65306835ce2e62186afe.png

调用"square.getArea()"获得正方形面积并打印,"Square"类中的"getArea"方法继承自类"Rectangle"。

a2a413ca2253a72832c9450f9208c8b5.png

现在改变变量rect为"Rectangle"类型,尽管实际的对象是一个"Square"类型,您可以使用"Rectangle"继承类作为变量的类型,这个概念被称为多态。

3e3513d99a73d90f6cb5cbf657555da6.png

提示:

Java不支持多继承,只允许一个类直接继承另一个类,即子类只能有一个父类,extends关键字后面只能有一个类名。尽管一个类只能有一个直接的父类,但是它可以有多个间接的父类。例如,苹果类继承水果类,水果类继承蔬果类,蔬果类继承食物类,那么蔬果类和食物类是苹果类的间接父类。

好了,本期到这里就结束了,有什么不懂或纠正的可以在下方评论区留言,小编也是初学者,需要大家的支持。大家记得点赞收藏分享关注哟!学习本是一个有始有终的事,只有坚持不懈的思考与积累,才能学有所成,学有所获。正所谓

cdfe04f0c9440db08bb0489b5472eab5.png
d770ae11499bc563b79dc2d3f7286cbb.gif

下一期:

Java入门第十七课:如何在包中建类以及包的导入

转载地址:http://icncl.baihongyu.com/

你可能感兴趣的文章
数据中心的重要服务器如何保护?
查看>>
IT人的自我导向型学习:开篇杂谈
查看>>
LVS+keeplived+nginx+apache搭建高可用、高性能php集群
查看>>
Android应用开发新路线(用HTML5开发Android应用)
查看>>
《Ext JS 4.2 实战》可以买了
查看>>
中国已经过了做手机操作系统的窗口期
查看>>
学生电脑何时能“成为自己”?
查看>>
Provisioning Services 7.6 入门到精通系列之十:自动添加向导
查看>>
创业找投资,你要警惕的三种人---情商培养
查看>>
cisco 2811路由器详细配置
查看>>
烂泥:vcenter5.5无AD下的安装与配置
查看>>
iOS开发那些事--创建基于故事板的iOS 6的HelloWorld
查看>>
理解并取:frame-relay的工作原理
查看>>
MariaDB 10.3支持update多表ORDER BY and LIMIT
查看>>
2015年值得关注的几个WEB技术
查看>>
Goroutine(协程)为何能处理大并发?
查看>>
QTP中VBS脚本下FSO、WSH的应用——实例讲解
查看>>
乐视超级手机的跨界影响
查看>>
A dream and two wheels
查看>>
我花50元赚来190元的贴吧推广经验
查看>>