2022-7-22 第三小组 黄均睿 学习日记(day15)继承、方法的重写&重载

发布于:2023-02-15 ⋅ 阅读:(584) ⋅ 点赞:(0)

目录

面向对象继承

类与类的关系:

extends:继承

继承能干什么?

面试题:super、this的区别?

方法的重写(覆写、覆盖override)

 面试题:

方法的重写与方法的重载的区别

方法重载:

方法的重写:

总结 


面向对象继承

类与类的关系:

1.属性关系
2.参数关系
3.继承关系

extends:继承

java中:
继承是单继承,一个子类只能有一个直接父类,但是可以有多个间接父类
extends后面只能写一个类

继承能干什么?

访问权限修饰符public
protected 受保护的,不同包的子类可以访问
默认的
private
继承了父类 属性、方法

创建子类对象时,父类先被实例化,再去实例化子类

当一个类被实例化时,一定会先实例化它的直接间接父类

子类的构造器可以有多个,但是必须和父类的构造器形式上统一

super关键字:代表调用父类的结构(属性、方法、、构造器)

面试题:super、this的区别?

super指向父类,不代表任何对象
this指向本类,代表当前类的对象,方法的调用者
在子类中当使用super调用父类构造器时,super(age)必须是第一句话
在当前类中使用this调用本类的构造器时,this(name)必须是第一句话
在构造器中,二u过需要使用super、this调用其他构造器,只能二选一,而且必须是第一句话

方法的重写(覆写、覆盖override)

子类可以重写父类的方法
方法的重写,我们可以利用父类中已经运算过的结果,在结果的基础上。。。
方法的重写,体现的就是继承的核心,就是为了扩展父类的功能
方法的重写规则: 前提:继承与被继承关系
1.访问权限:重写的方法的权限不能低于被重写的方法,开发中一般是等于
2.返回值类型:重写的方法的返回值可以和被重写的方法不同
3.方法名:必须相同
4.参数列表:参数类型、参数个数必须相同
5.抛出异常:重写的方法不能抛出比被重写的方法更大的异常
开发中,如果重写,基本就是一模一样,我们只变方法体

 面试题:

== 和 equalas
this、super
重载和重写
public class J721 extends 父类{
   public static void main(String[] args) {

    }
}

方法的重写与方法的重载的区别

方法重载 (Overload)  是  编译时的多态性,而方法重写 (Override)  是  运行时的多态性。
构造器(constructor)不能被继承,因此不能被重写,但可以被重载。
重载:
        发生在同一个类中,方法名相同参数列表不同(参数类型不同、个数不同、顺序不同),与 方法返回值和访问修饰符无关,即重载的方法不能根据返回类型进行区分
重写:
        发生在父子类中,方法名、参数列表必须相同,抛出的异常 小于等于 父类,访问修饰符 大于或等于 父类(里氏代换原则);如果父类方法访问修饰符为 private 则子类中 就不是重写。
 

方法的重载:

        在一个类中,如果方法的功能相似,那么就会使用方法的重载

什么条件满足后会构成方法的重载?

1.前提:在同一个类中
2.方法名相同
3.参数列表不同(参数的个数,参数的类型,参数类型的顺序)
4.方法重载于修饰符列表和返回值无关


方法的重写:

        当子类从父类继承过来的方法无法满足子类的业务需求时,子类有权利对这个方法进行重新编写

什么条件满足后会够称方法的重写?       

1.前提:在继承关系中
2.方法名和参数列表都相同
3.访问权限不能更低,可以更高
4.子类返回值类型必须小于等于父类返回值类型
5.抛出异常:重写的方法不能抛出比被重写的方法更大的异常

总结 

        今天和昨天学习了很多关于继承的应用知识,通过这些学习,老师带领我们将困难的银行卡系统一一剖析,使其变得简单明了。

        昨晚的聚餐让一直处于高压状态的我终于得以喘口气,一张一弛的学习方法才能更有效率将知识吸收。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到