目录
面向对象继承
类与类的关系:
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 后查看