当前位置:网站首页>2022-07-21 第六小组 瞒春 学习笔记
2022-07-21 第六小组 瞒春 学习笔记
2022-08-02 14:21:00 【烫嘴的辛拉面】
学习目标:
- 掌握面向对象的特征继承
- 掌握super与重写的用法
- 加强this用法
学习内容:
- 面向对象特征:继承
- super
- 重写
继承的优点:
A:优点
提高了代码的复用性
提高了代码的可维护性
B:缺点:
类的耦合性增强了
开发的原则:高内聚低耦合
类与类之间的关系:
- 属性关系
- 参数关系
- 继承关系
例如:
生物 动物 人 猫
直接继承: 人——>动物 猫——>动物
间接继承:人——>生物
extends 继承
Persib Cat Animmal可以叫做Biology类的子类
Animal叫做Biology类的直接子类
继承的写法:
直接父类:写在extends关键字后面的类
在Java中的继承是单继承,一个子类只能有一个直接父类,但是可以有多个间接父类
extends后面只能写一个类
继承的作用:
访问权限修饰符 protected受保护的 不同包的子类可以访问
继承父类的属性,方法 创建子类对象时,要父类先被实例化,再子类
当一个类被实例化时,一定会实例化它的直接和间接父类。
子类的构造器可以有多个,但是必须和父类的构造器形式上统一
super关键字:代表调用父类的结构
super调用父类的方法 this调用当前类的方法
this和super区别
当使用super调用父类的构造器时,super(age)必须是第一句话
在当前类中使用this调用本类的构造器,this(name)必须是第一句话
所以构造器中只能选择一个
super指向的父类,不代表任何对象
this指向的本类,代表当前类的对象,方法的调用者
方法的重写 override
子类可以重写父类的方法
public String show(){
return super.show()+"话"
}
方法的重写,我们可利用到父类中已经运算过的结果,方法的重写体现的就是继承的核心,就是为了扩展父类的功能。
方法重写的规则:前提:继承与被继承的关系
1.访问权限 :重写的方法的权限不能低于被重写的方法,开发中一般都是等于
2.返回值类型 :必须重写的方法的返回值可以被重写的方法不同,但是必须是被重写方 法的子类,开发中一般一样
3.方法名 :必须相同
4.参数列表:必须相同
开发中如果要重写,基本一模一样,只变方法体
public Ch01 info(String name,Integer age){
Ch01 ch01=new Ch01;
ch01.setName(name);
ch01.setAge(age);
return ch01;
}
优化
public Ch01 info(String name,Integer age){
this.setName(name);
this.setAge(age);
return this; this谁调用它就代表谁 super代表不了对象,this能代表对象
super代表属性代表方法
public statiic void main(String[] args){
Ch01 ch01=new Ch01;
ch01=ch01.info("acc",20);
sop(ch01.getName()+ch01.getAge());
调用对象 代表本类对象(调用者)
setName是没有返回值的
void改为当前类的对象 如Person
return this;
属性就可以Person.setName().setAge();
链式处理
setName是没有返回值的
void改为当前类的对象 如Person
return this;
属性就可以Person.setName().setAge();
链式处理
练习:
* 有一个银行卡类,有账号和密码,余额,有存款和取款的方法。
* 创建一个借记卡类,继承于银行卡,转账额度。
* 存款和取款的方法,取款的时候,
* 如果超过了20000,则提示需要去柜台拿身份证办理!!!
* 创建一个信用卡类,继承于银行卡,信用额度。
* 有存款和取款的方法。
* 取款:如果余额大于0,则从余额中扣,
* 如果余额小于等于0,则会走信用额度。
* 余额:100,信用额度:50000,要取钱数:1000
*
最终在Demo类中测试相关功能
学习时间:
- 上午:7:30-12:00
- 下午:1:30-5:00
- 晚上:6:00-10:00
学习产出:
- 熟悉了面向对象继承的特征
- 对于this的用法有了拓展
- 明白了重写的用法
边栏推荐
- Mediasoup 杂谈(待完善)
- CSV file with the data read and write 】 【 XLS/XLSX file
- 【数据知多少】一文学懂通过Tushare、AKshare、baostock、Ashare、Pytdx获取股票行情数据(含代码)
- 【web渗透】文件包含漏洞入门级超详细讲解
- nodemon : 无法加载文件 D:\Program Files\nodejs\node_global\nodemon.ps1
- JS中的数组方法和循环
- Based on the SVM regression forecast 】 【 LibSVM realize the prediction of a characteristic data
- 集成电路实践----D触发器
- 【无标题】
- DOM —— 事件绑定与解绑
猜你喜欢
随机推荐
EL 表达式 & JSTL 标签库
js中的join()方法
小知识系列:Fork之后如何与原仓库分支同步
职工管理系统(SSM整合)
双亲委派机制
RTMP, RTSP, SRT 推流和拉流那些事
2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题
一、QT界面开发 --QT安装
Golang基础教程
Nvm,Nrm使用教程
DOM —— 事件绑定与解绑
个人成长系列:好问题清单
JS本地存储(附实例)
【JS执行机制】
static关键字的三种重要作用详解
【时间序列模型】AR模型(原理剖析+MATLAB代码)
nodemon : 无法加载文件 D:\Program Files\nodejs\node_global\nodemon.ps1
Explain in detail how the bit manipulation operators in C language can be used?
lammps学习(一)单晶硅纳米磨削
VLAN原理