为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第十四天 Java多态

标签:
Java

学习课程:Java工程师2022版

章节名称:第4周 Java基础进阶-面向对象之单例模式与多态

讲师:IT老齐

课程内容:

多态

https://img4.sycdn.imooc.com/63285d480001a0f813650779.jpg

一般说的多态是运行时多态

向上类型转换(Upcast):将子类型转换为父类型

-隐式/自动类型转换,是小类型到大类型的转换

向下类型转换(Downcast):将父类型转换为子类型

-强制类型转换,是大类型到小类型

通过instanceof运算符,来解决引用对象的类型,避免类型转换的安全性问题,提高代码的强壮性。


抽象类&抽象方法

应用场景:某个父类只是限定其子类应该包含怎样的方法,但不需要准确知道这些子类如何实现这些方法。

注意事项:

1、抽象类不能直接实例化

2、子类如果没有重写父类所有的抽象方法,则也要定义为抽象类

3、抽象方法所在的类一定是抽象类

4、抽象类中可以没有抽象方法


接口

接口定义了某一批类所需要遵守的规范

接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只规定这些类里必须提供某些方法

语法:

【修饰符】interface 接口名 【extends 父接口1,父接口2...】

{

        零到多个常量定义...

        零到多个抽象方法的定义...

        零到多个默认方法的定义...(jdk1.8新增)

        零到多个静态方法的定义...(jdk1.8新增)

}

注意事项:

接口可以实现多继承,即一个子接口可以同时继承多个父接口

实现接口的类如果不能实现所有接口中待重写的方法,则必须设置为抽象类

一个类可以继承自一个父类,同时实现多个接口

一个Java文件中可以存在多个类,多个接口,但是只能存在一个public修饰的类或接口,且此时文件名需要与public修饰的类或接口同名。

 文件中定义接口,默认访问修饰符是包内可见。


内部类

在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类

与之对应,包含内部类的类被称为外部类

优势:内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类,更好的实现了信息隐藏。


枚举

enum关键字

可以减少代码中的bug, 增加代码的可读性。

枚举值不一定要大写,此处之所以是大写是因为枚举值是常量,而常量在Java中一般都是要大写的在类中或者类

外时,调用值可以:枚举名.枚举值

在其他类中定义枚举, 可以: 其他类名.枚举名.枚举值


学习收获:

了解了java的多态及其实现

加深了解了抽象类,尤其是其设计意义


打卡截图:

https://img1.sycdn.imooc.com/63285d2300012b3114390807.jpg

https://img2.sycdn.imooc.com/632866260001aad814270796.jpg



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消