关于继承/多态/抽象的学习笔记

继承

mermaid这里不支持classDiagram,画了个简版的,得倒过来看。

Person父类
Student子类
Teacher子类
Teacher Assistant

Person是父类(基类)
Student 和 Teacher 是子类(派生类)
Teacher 单继承了 Person类
Student 单继承了 Person类
TeacherAssistant 多重继承 Student 和 Teacher类
判断是否为继承关系的方法: “子类”是“父类”,“父类”不能是“子类”。
如 teacher 是 person,student 是 person,但反之不成立。

多态

有了继承才有多态:

引用多态

Person P1 = new Person(); // 类的引用可以指向本类对象
Person P2 = new Student(); // 父类的引用可以指向子类对象。
Student S1 = new Student(); // 类的引用可以指向本类对象
// ❌  Student S2 = new Person(); // 错,子类不能引用父类对象

方法多态

// Person 有 info()
// Student 有  info()
// Teacher 没有info()
P1.info() // 调类Person的info(),本类对象调用访问本类的方法
P2.info() // 调类Student的info(),子类对象调用访问子类重写的方法
Person P3 = new Teacher()
P3.info() // 调类Person的info(),子类如果没有该方法,则继承父类的方法

抽象类

父类定义某个方法,但可以不用写具体实现,而是由子类来重写实现。
父类是抽象的一个方法,只做声明,不写具体内容,以约束子类。

public abstract class Person {
	public abstract void info()
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值