博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day14 多态与抽象
阅读量:4935 次
发布时间:2019-06-11

本文共 707 字,大约阅读时间需要 2 分钟。

多态:相同的行为,不同的实现。

多态分为:静态多态和动态多态。

静态多态:在编译期即确定方法的实现和效果。——使用重载实现

动态多态:运行后才能确定方法的实现和执行效果。——使用动态绑定和重写实现

动态绑定技术:引用数据类型转换、instanceof关键字

引用数据类型转换:向上转型:父类的引用指向子类的对象。

                         向下转型:运行起来后,确实是本类引用指向本类对象或者指向子类对象,才能成功。

instanceof关键字:用于判断运行时对象的真正类型,判断对象是否是某个类的实例。返回true/false。

用法:对象 instanceof 类名

多态的应用:多态参数:就是方法的形参是一个引用的时候,该引用兼容的任何对象都可以传递给该方法。

                多态集合:就是存放不同数据类型的集合。例如: Object[]

 

 

抽象(abstract):

当abstract修饰方法的时候,该方法为抽象方法,表示类有这个方法,该方法的实现由子类完成。

当abstract修饰类的时候,该类为抽象类,抽象类不能产生对象。

注意:1、有抽象方法的类一定是抽象类

        2、抽象类不一定有抽象方法(语法允许)

        3、抽象类除了用abstract修饰外,其它跟普通类一样,属性,构造(给子类用),已实现的方法等等。

        4、子类在继承抽象类的时候,必须重写父类全部抽象方法,否则这个类也是抽象类。

abstract与final修饰类的比较:

abstract设计父类,不能产生对象,能继承。

final设计最终类,不能被继承,能产生对象。

转载于:https://www.cnblogs.com/fengshaolingyun/p/6142972.html

你可能感兴趣的文章
画世界怎么用光影_世界绘画经典教程:水彩光影魔法教程
查看>>
win+rsync+php,跨平台的fswatch+rsync同步备份
查看>>
vue2 cdn 加载html,vue项目中使用CDN加载
查看>>
数组转集合踩坑
查看>>
node.js的异步I/O、事件驱动、单线程
查看>>
vue cli3 子目录问题
查看>>
github.com访问慢解决
查看>>
微服务架构最强详解
查看>>
转:哈夫曼树详解
查看>>
.Net Core Identity外面使用Cookie中间件
查看>>
【坐在马桶上看算法】算法1:最快最简单的排序——桶排序
查看>>
C#中泛型之Dictionary
查看>>
强连通分量
查看>>
使用Code First模式开发如何更新数据库(转载)
查看>>
sqoop导出工具
查看>>
Codeforces Round #376 (Div. 2)
查看>>
Codeforces 607D Power Tree 线段树 (看题解)
查看>>
写在人生的路上——2016年上半年总结
查看>>
员工选票系统-java
查看>>
C语言、C语言的起源以及类似C语言的编程语言的历史简直不要太漫长,我简单总结列表如下:...
查看>>