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

类的继承

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入门第十七课:如何在包中建类以及包的导入

java 父类获取子类名称_Java入门第十六课:如何用继承的方法定义类相关推荐

  1. window.addeventlistener 不能调用方法_Java入门第十四课:如何定义”方法“

    第十四课,学习定义方法.一个对象包含三种最常见的成员:构造器.Field和方法.Field用于定义状态数据,而方法是行为特征的抽象. 那么什么是方法呢? 在Java中,方法就是用来完成解决某件事情或实 ...

  2. java 父类获取子类对象_Java多态性详解 (父类引用子类对象)

    面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作准备.那么什么是多 ...

  3. java父类引用子类属性_Java多态性详解——父类引用子类对象

    面向对象编程有三个特征,即封装.继承和多态. 封装隐藏了类的内部实现机制,从而可以在不影响使用者的前提下改变类的内部结构,同时保护了数据. 继承是为了重用父类代码,同时为实现多态性作准备.那么什么是多 ...

  4. java父类声明子类实现_java中父类声明子类实例化

    问题: 1.比如两个类父类:Person 子类 Student extends Person在使用时候,这样写:Person person=null; //声明对象person=new Student ...

  5. java integer转成负数_Java 十进制和十六制之间的转化(负数的处理)

    在一些情况下,我们需要将数字在十进制和十六制下互相转化. 在Java中将十进制转化成十六进制非常的简单. int var = 324; String hex = Integer.toHexString ...

  6. java 父类引用子类对象_java 父类引用指向子类对象

    1. 无论是泛型还是普通父类引用指向子类对象,父类引用可见范围都是父类自己的变量或函数 2. 说明见注释 代码如下:父类 package com.atguigu.spring.beans; publi ...

  7. java 父类引用子类对象_java多态,如何理解父类引用指向子类对象

    java多态,如何理解父类引用指向子类对象 要理解多态性,首先要知道什么是"向上转型". 我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类.我可以通过   C ...

  8. java 路径获取文件名称_java 根据文件获取文件名及路径的方法

    filelist=new HashMap (); /** * 递归方法 * @param path 文件路径 */ public static void find(String path){ File ...

  9. shell 脚本比较字符串相等_LINUX快速入门第十六章:Shell 流程控制

    Shell 流程控制 和Java.PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <?phpif (isset($_GET["q"])) { s ...

  10. Flink入门第十二课:DataStream api/Flink sql实现每隔5分钟统计最近一小时热门商品小案例

    用到的数据文件 用到的数据文件 链接:https://pan.baidu.com/s/1uCk-IF4wWVfUkuuTAKaD0w 提取码:2hmu 1.需求 & 数据 用户行为数据不断写入 ...

最新文章

  1. 活动目录系列之一:主域控制器的搭建
  2. Editplus快捷键大全
  3. 虚拟机找不到共享文件夹
  4. 【UEditor】百度编辑器插入video视频
  5. 由更改密码引发的状况..(alter user xxx identified by password)
  6. 认知行为技术是计算机技术吗,基于认知行为模型的多Agent建模技术研究与应用_问答库...
  7. 雅马哈php mt7,雅马哈专业录音室监听耳机 HPH-MT7 正式发售!
  8. 在MAC下怎样用SSH连接远程LINUXserver
  9. 普通地图的六大要素_地图的基本要素是什么 主要是哪三大要素
  10. 搜狗CEO王小川:很多语音识别公司在AI领域掉进了陷阱
  11. 用python写聊天机器人_用Python 写一个机器人陪你聊天(文尾有彩蛋)
  12. Go 设计模式(Go patterns)
  13. python爬取58同城房子发布的手机号码_python爬虫:爬取58同城武汉地区商品房信息(最后碰到了58同城的反爬机制,吓得我不敢说话···)...
  14. 冲压模具设计之弹簧导套连续拉深模具设计方法
  15. CLC龍链:致力于打造基于区快链技术的全球跨境支付生态系统
  16. 程序员 2015 年工作总结
  17. matlab锯齿交换,MATLAB折线消除锯齿平滑
  18. 解决公务车Bug:公安违章管理中编辑新增的公安违章记录,点击保存按钮报:数据库操作异常,null
  19. Linux 驱动开发 六十六:多点触控(MT)协议
  20. 白杨SEO:微信视频号直播功能怎么开通?视频号有什么价值?

热门文章

  1. 【译文】Nodejs官方文档(Part 3 断言测试)
  2. oracle参数文件与启动过程
  3. NeHe OpenGL第九课:移动图像
  4. oracle 写递归,请问一个递归sql的写法
  5. keras中使用ImageDataGenerator对MINST数据集数据增强
  6. Python_基础1
  7. 一阶低通滤波器方程_一阶RC低通滤波器和RC高通滤波器简介-模拟/电源-与非网...
  8. dbf文件转excel_Excel批量转PDF,关键一步不能忘
  9. html链接描述,HTML常用文本标记,超级链接和路径描述
  10. hdoj4540:威威猫系列故事——打地鼠(dp基础题-数塔思想)