学生视角看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
投稿

猜你喜欢

  • Spring boot 连接多数据源过程详解

    2023-11-28 12:09:51
  • SpringBoot打成war包在tomcat或wildfly下运行的方法

    2023-11-23 08:20:56
  • SpringBoot打Jar包在命令行运行流程详解

    2023-11-24 16:53:59
  • 基于java集合中的一些易混淆的知识点(详解)

    2023-08-29 03:06:26
  • SpringBoot获取前台参数的六种方式以及统一响应

    2023-08-22 21:25:23
  • springsecurity 企业微信登入的实现示例

    2023-06-16 16:39:35
  • 在springboot中实现个别bean懒加载的操作

    2023-11-25 09:44:11
  • Java 判断字符串中是否包含中文的实例详解

    2023-11-06 13:17:18
  • 详解@ConfigurationProperties实现原理与实战

    2023-11-24 05:19:26
  • 基于java构造方法Vector创建对象源码分析

    2023-11-25 11:27:54
  • Android中bindService基本使用方法概述

    2023-08-05 19:18:56
  • Java多线程之ThreadLocal浅析

    2023-06-19 19:55:37
  • Android 微信摇一摇功能实现详细介绍

    2023-06-21 21:00:09
  • Android 判断某个Activity 是否在前台运行的实例

    2023-07-24 19:29:21
  • Unity实现场景漫游相机

    2023-06-15 19:08:57
  • java读取文件内容的三种方法代码片断分享(java文件操作)

    2023-11-21 06:53:20
  • go打包aar及flutter调用aar流程详解

    2023-06-24 17:39:21
  • SpringBoot详细讲解静态资源导入的实现

    2023-07-26 13:23:21
  • Java中的5种同步辅助类介绍

    2023-11-14 21:36:28
  • java导出生成word的简单方法

    2023-11-23 23:07:13
  • asp之家 软件编程 m.aspxhome.com