个人博客网:https://wushaopei.github.io/    (你想要这里多有)

1、继承性

1.1 为什么要类的继承性?(继承性的好处)

①减少了代码的冗余,提高了代码的复用性;
②更好的扩展性
③为多态性的使用提供了前提

1.2 继承的格式:A extends B

  • A类叫做子类 (subClass)
  • B类叫做父类 (superClass,超类,基类)

1.3 子类继承父类以后哪些不同?

子类继承父类以后,就拥了父类中的属性和方法(不认为父类中的构造器可以被继承。但是子类可以用super访问弗雷的构造方法。子类除了可以拥父类中的属性和方法,还可以自定义属性和方法。

1.4  java中继承性的说明

1.子类继承父类以后,就拥了父类中的属性和方法(不认为父类中的构造器可以被继承。子类除了可以拥父类中的属性和方法,还可以自定义属性和方法。
2.java中的类只支持单继承(一个类只能有一个父类。一个父类可以有多个子类)。
3.子类继承父类以后,无法直接访问父类中被私化的属性(我们认为继承了被私化的属性。但是我们可以间接的通过get/set方法对属性进行调用。
4.父类是一个相对的概念,父类分为直接父类和间接父类。
子类继承父类以后,除了拥父类中的属性和方法外,还继承了间接父类中的属性和方法。

2、方法的重写

2.1什么是方法的重写 :

定义 :子类继承父类以后,子类可以对父类中的方法进行重写(覆盖,覆写)

2.2方法重写后的调用 :

子类重写父类的方法后。通过子类对象进行调用方法,实际上调用的是子类中重写的父类中的方法。

2.3 说明

权限修饰符  返回值类型  方法名(形参列表){
方法体;
}

子类重写的方法      父类被重写的方法

1.子类重写的方法和父类被重写的方法的方法名和形参列表必须一样。
2.子类重写的方法的权限修饰符不小于父类被重写方法的权限修饰符。
3.子类重写的方法的返回值类型不大于父类被重写方法的返回值类型(父类被重写方法的返回值类型和子类重写方法的返回值类型必须子父类关系才能。
注意 :
    ①父类被重写方法的返回值类型如果是void 子类重写方法返回值类型也只能是void
    ②父类被重写方法的返回值类型 double 子类重写方法返回值类型int (不可以的,只能是相同的)
4.子类方法抛出的异常不能大于父类被重写方法的异常(后面再说

2.5 注意

  1. 如果父类中的方法的权限修饰符是private,那么我们不认为这个方法可以被子类重写。
  2. 子父类中同名的方法(非重写)须同时为static的,或同时为非static的

3、关键字super

super用来调用父类中的结构,包括属性,方法,构造器 。
super可以调用:属性,方法,构造器
super调用属性和方法:
父类被子类继承以后,可以在子类的构造器和方法中。通过使用"super."来调用父类中的属性和方法。一般我们都会省略掉"super."
如果子类中的属性名和父类中的属性名一样,那么调用父类中的属性就不能省略"super."。如果子类重写了父类中的方法,如果需要调用父类中被重写的方法也不能省略"super."。
super调用构造器:
格式 :super(形参列表)
说明 :

  1. super(形参列表)只能放在子类构造器的首行
  2. 在子类同一个构造器中只能有一个super(形参列表)
  3. 在子类同一个构造器中super(形参列表)和this(列参列表)只能使用其中的一个
  4. 在子类的构造器中如果没显示的调用super(形参列表)和this(列参列表) 那么默认调用的是 super() - 父类的空参构造器

4、子类对象实例化过程(理解)

过程上:
通过子类的构造器,一定可以调用到直接父类和间接父类....Object类中的构造器。进而将这些类的信息通过JVM加载到内存中。所以可以进行调用父类中的属性和方法。

结果上:
子类继承了父类以后。那么子类就拥了父类中的属性和方法。通过子类的对象就可以调用父类中的属性和方法。

注意:自始之终我们只认为创建了子类一个对象

JAVASE(九)面向对象特性之 : 继承性、方法重写、关键字super、的更多相关文章

  1. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  2. java方法重写和super关键字

    //java方法重写和super关键字 //在继承中,其实就是子类定义了和父类同名的方法 //就是方法,属性都是相通的 //重写限制: //被子类重写的方法不能拥有比父类方法更加严格的权限 //sup ...

  3. Java方法重写与super关键字

    ----------siwuxie095                     方法的重写:     (1)在继承中也存在着重写的概念,其实就是子类定义了和父类同名的方法     (2)定义:方法名 ...

  4. 04 Python的继承、方法重写、super()类、父类私密属性的调用

    继承 A类继承B类,A即可获得B类的全部公共属性和方法(包括内置属性和方法).格式如:class A(B): class Animal: def sleep(self): print("zZ ...

  5. 乐字节Java继承|方法重写、super和final关键字

    大家好,乐字节的小乐又来了,上一篇是:乐字节Java|JavaBean.继承与权限修饰,也是属于Java继承的,今天继续Java继承. 一. 方法的重写 父类不满足子类的要求,按需改写.注意 方法签名 ...

  6. 面向对象编程(九)——面向对象三大特性之继承以及重写、Object类的介绍

    面向对象三大特性 面向对象三大特征:继承 :封装/隐藏 :多态(为了适应需求的多种变化,使代码变得更加通用!) 封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现. 继承:很好的实现 ...

  7. c#基础学习(0702)之面向对象和方法重写概述

    面向对象编程(OOP==>Object-Oriented Programming) OOA:面向对象分析 OOD:面向对象设计 OOAD:面向对象分析与设计 什么是面向对象?一种分析问题的方式( ...

  8. 疯狂java学习笔记之面向对象(六) - 构造器重载、方法重载和方法重写

    一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同 ...

  9. 《java入门第一季》之面向对象(方法重写问题)

    方法重载的引入:根据一个案例: /* 继承中成员方法的关系: A:子类中的方法和父类中的方法声明不一样,这个太简单. B:子类中的方法和父类中的方法声明一样,这个该怎么玩呢? 通过子类对象调用方法: ...

随机推荐

  1. react——key值的理解

    key不是给开发者使用的,是给react在diff算法中使用的,diff算法会比较新旧虚拟dom,并且是同层比较,当同一层中有多个元素的时候,会比较这一层的key值, 如果key相同,属性改变积极更新 ...

  2. 【Scala】代码实现Actor多种需求

    文章目录 简单实现Actor并发编程 使用Actor实现发送没有返回值的异步消息 使用Actor实现不间断消息发送 用react方法替代receive方法接收消息 结合case class,通过匹配不 ...

  3. 【Kafka】Producer API

    Producer API Kafka官网文档给了基本格式 地址:http://kafka.apachecn.org/10/javadoc/index.html?org/apache/kafka/cli ...

  4. 【Hadoop离线基础总结】MapReduce入门

    MapReduce入门 Mapreduce思想 概述 MapReduce的思想核心是分而治之,适用于大量复杂的任务处理场景(大规模数据处理场景). 最主要的特点就是把一个大的问题,划分成很多小的子问题 ...

  5. springboot controller templates html

    首先声明: @Controller注解的类必须要在启动类的子集目录下,否则无法扫描 本文要求: 通过controller层跳转页面到html页面(本篇用到thymeleaf模板) 项目结构展示: 第一 ...

  6. 手把手教你学Numpy,从此处理数据不再慌「一」

    当当当,我又开新坑了,这次的专题是Python机器学习中一个非常重要的工具包,也就是大名鼎鼎的numpy. 所以今天的文章是Numpy专题的第一篇. 俗话说得好,机器学习要想玩的溜,你可以不会写Pyt ...

  7. 如何搭建一个WEB服务器项目(四)—— 实现安卓端图片加载

    使用Glide安卓图片加载库 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出错误,分享宝贵经验.先谢谢 ...

  8. webpack4多页应用HTML按需添加入口依赖chunk【html-webpack-plugin & html-inline-entry-chunk-plugin】

    在webpack4中使用splitChunkPlugin时,根据需要将公共代码拆分为多个依赖后,需要在创建htmlWebpackPlugin时候按需引入对应入口文件依赖的chunk.但是html-we ...

  9. MySQL 5.7 基于GTID创建运行主库的从库-xtrabackup+mysqldump

    一.GTID innobackupex备份实现主从同步 1)master备份 innobackupex --defaults-file=/etc/my.cnf --user=root --passwo ...

  10. MySQL的转义字符“\”

    \0    一个ASCII  0  (NUL)字符.    \n    一个新行符.    \t    一个定位符.    \r    一个回车符.    \b    一个退格符.    \'    ...