本文共 1087 字,大约阅读时间需要 3 分钟。
第十六课,尝试使用继承的方法定义其他类(被称为"父类")的子类。如何理解继承?例如水果和苹果的关系,我们可以说苹果继承了水果。
Java中类的继承是通过扩展其他类而形成新类来实现的,原来的类称为父类(super class)或基类,新类称为原来类的子类(派生类)。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法,使得父类的基本特征可被所有子类的对象共享。
注意:类的继承不改变类成员的访问权限。如果父类的成员是(public)公有的、被保护的(protected)或默认的(default),它的子类仍具有相应的这些特性。
类继承的定义格式如下:
class #子类名称# extends #父类名称#
{
//类的主体
}
extends关键字直接跟在子类名之后,其后面是该类要继承的父类名称。
检查该程序,"Rectangle"类有字段"width","height"和构造函数,在main方法中创建对象打印对象的面积。
在"Rectangle"类下面添加类"class Square {}"。
改动代码,格式为:class Square extends Rectangle
运行,出错。该错误表示我们必须为"Square"类提供构造函数。
我们仅添加了一个参数"size",我们在"Rectangle"类中调用"super"构造函数并以"size"作为宽和高。
在main方法中以"100"为参数新建一个"Square"对象,并将其分配给变量"Square square"。
调用"square.getArea()"获得正方形面积并打印,"Square"类中的"getArea"方法继承自类"Rectangle"。
现在改变变量rect为"Rectangle"类型,尽管实际的对象是一个"Square"类型,您可以使用"Rectangle"继承类作为变量的类型,这个概念被称为多态。
Java不支持多继承,只允许一个类直接继承另一个类,即子类只能有一个父类,extends关键字后面只能有一个类名。尽管一个类只能有一个直接的父类,但是它可以有多个间接的父类。例如,苹果类继承水果类,水果类继承蔬果类,蔬果类继承食物类,那么蔬果类和食物类是苹果类的间接父类。
好了,本期到这里就结束了,有什么不懂或纠正的可以在下方评论区留言,小编也是初学者,需要大家的支持。大家记得点赞收藏分享关注哟!学习本是一个有始有终的事,只有坚持不懈的思考与积累,才能学有所成,学有所获。正所谓
下一期:
Java入门第十七课:如何在包中建类以及包的导入
转载地址:http://icncl.baihongyu.com/