学生视角看Java 面向对象的继承本质

作者:笑霸final 时间:2022-04-23 21:51:10 

1.什么是继承?

(1)用来提高代码的复用性

(2)将相同的功能模块封装到方法中需要使用时调用方法达到代码复用的目的

(3)通过继承将多个类中的相同的类容摘取出来,变成一个新类,让其他类和当前的新类产生关系,达到代码复用性的目的 注意:Java是单继承与c++有区别 ,c++可以多继承。

学生视角看Java 面向对象的继承本质

2.继承的格式

关键字extends

学生视角看Java 面向对象的继承本质

3.继承的特性

*子类拥有父类非 private 的属性、方法。

*子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

*子类可以用自己的方式实现父类的方法。

*Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承 一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。

*提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)

4.当子类继承父类,我们创建子类对象时,内存中发生了什么??

如下图:

学生视角看Java 面向对象的继承本质

图片来源韩顺平 b站链接

可见子类对象有父类所有属性,但是如果我们访问name将访问谁的呢?

学生视角看Java 面向对象的继承本质

**

5.权限修饰符

注意:属性和方法都适用。default就是返回类型(数据类型)前面什么都不用写。

学生视角看Java 面向对象的继承本质

来源:https://blog.csdn.net/weixin_52062043/article/details/122104821

标签:Java,继承,面向对象
0
投稿

猜你喜欢

  • Android RecyclerView添加上拉加载更多功能

    2022-08-02 00:03:51
  • 浅析Mybatis Plus和Mybatis的区别

    2022-12-05 18:14:18
  • IDEA如何进行全局搜索图文教程

    2022-10-14 13:39:45
  • SpringBoot万字爆肝高级配置

    2022-09-17 06:34:08
  • Android开发Jetpack组件WorkManager用例详解

    2023-05-09 03:27:07
  • 详解Spring 中 Bean 的生命周期

    2023-09-13 14:55:57
  • VS2019配置OpenCV4.1.0详细教程与测试代码(推荐)

    2021-11-06 21:55:24
  • java返回json请求中文变成问号的问题及解决

    2023-11-01 02:56:34
  • C# 使用 Castle 实现 AOP及如何用 Autofac 集成 Castle

    2023-07-08 16:02:26
  • Android 微信摇一摇功能实现详细介绍

    2023-06-21 21:00:09
  • java统计文件中每个字符出现的个数

    2021-12-22 06:43:42
  • Android底部菜单简单应用

    2022-03-25 18:09:58
  • Android语音声波控件 Android条形波控件

    2023-10-29 02:03:05
  • C#无损高质量压缩图片代码

    2023-01-10 10:01:33
  • Android内容提供者ContentProvider用法实例分析

    2021-06-25 09:33:04
  • Springboot添加支付接口

    2023-06-21 00:10:20
  • Android开发使用Handler的PostDelayed方法实现图片轮播功能

    2023-10-20 04:37:42
  • 教你怎么用Java获取国家法定节假日

    2021-05-24 01:16:04
  • C# 使用原生 System.IO.Compression 实现 zip 的压缩与解压

    2023-08-01 13:52:41
  • C#使用Process类调用外部程序分解

    2022-01-07 16:34:11
  • asp之家 软件编程 m.aspxhome.com