| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 【JavaSE系列】第十话 —— 一篇文章带你吃透抽象类 -> 正文阅读 |
|
[Java知识库]【JavaSE系列】第十话 —— 一篇文章带你吃透抽象类 |
?目录? ? 🍚前言 ? ? ? 🧀思维导图 ? ? ? ? ? 🥡一、抽象类的概念 ? ? ? ? ? 🧇二、抽象类的语法 ? ? ? ? ? 🍰三、抽象类的特性 ? ? ? ? ? 🍔四、抽象类的理解 ? ? ? ? ? 🥩五、总结一下抽象类所需要的注意点 ? 🍤写在最后 前言? ? ? ?继Java的三大特性(封装、继承、多态)过后,咱们就开始介绍一个新的概念——抽象类; ? ? ? ?接下来让我们一起去看看吧......
思维导图一、抽象类的概念? ? ? ?在面向对象的概念中,所有的对象都是通过 类 来描绘的; ? ? ? ?但是,并不是所有的类 都是用来描述对象的; ? ? ? ?如果一个类中 没有包含足够的信息 来描绘一个具体的对象,那么 这样的类 我们就把它叫做 抽象类。 ? ? ? ?比如: 二、抽象类的语法? ? ? ?在Java中, 一个类如果被 关键字abstract?修饰,则称这个类为 抽象类; ? ? ? ?抽象类中 被 abstract 修饰的方法称为 抽象方法,抽象方法不需要给出具体的方法体;
【注意】抽象类也是类,里面可以包含 成员变量和成员方法,甚至构造方法。 三、抽象类的特性
四、抽象类的理解? ? ? ?有的人就可能会特别的迷糊: ? ? ? ?别人告诉他,一个类,居然不可以实例化对象,那么这个类 还有什么意义呢 ? 给大家看一段代码: ? ? ? ?有的人可能会疑问: ? ? ? ?这个抽象类 怎么看起来和普通类 没有什么区别呢?都有成员变量和成员方法啊! ? ? ? ?其实,这些人说的没错; ? ? ? ?确实抽象类和普通类基本上没有什么区别; ? ? ? ?唯一的区别就是:抽象类 多了一个抽象方法,让这个类同时被abstract修饰,使得这个类不可以被实例化了; ? ? ? ?其他 在里面定义 成员变量、成员方法啥的 都和普通类一样。 ? ? ? ?那么,回到最初的问题,抽象类 居然不可以被实例化,那么它存在的意义是什么呢? ? ? ? ?其实,抽象类 存在的最大意义是:为了被继承; ? ? ? ?当然,这个继承是有条件的: ? ? ? ?如果一个普通的类Cycle 继承了 抽象类Shape 之后,此时 必须得要重写 抽象类Shape 当中的所有的抽象方法(下面我只举了一个 只有一个抽象方法的例子): ? ? ? ? ?既然 抽象类的出现是 为了被继承,那么抽象类肯定是父类, ? ? ? ?即 可以引用所有继承它的子类对象; ? ? ? ?也就是说,抽象类也可以发生向上转型,进一步发生多态:
? ? ? ?代码示例结果: 五、总结一下抽象类所需要的注意点写在最后? ? ? ?怎么样,抽象类 是不是很简单; ? ? ? ?由于博主水平有限,可能会出现一些表达不清楚,或者出现一些其他的情况, ? ? ? ?欢迎各位铁汁们指出来,和博主一起改正, ? ? ? ?一起努力,共同进步; ? ? ? ?好了,如果这篇博客对铁汁们有帮助的话,可以送一个免费的 赞 嘛; ? ? ? ?当然,顺手点个关注是再好不过的了...... |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:00:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |