【Java余元面向对象】(23)抽象方法/抽象类
目录
1. 引入
2. 定义
3. 使用规则
4. 抽象方法和抽象类的说法
5. 两个应用
1. 引入
狗怎么叫:“旺旺”----shout
猫怎么叫:“喵喵”---shout
老鼠怎么叫:“吱吱”---shout
shout方法向上提取到父类中
子类直接继承了shout方法
问:宠物怎么叫?----太抽象 ---父类的shout方法没有办法实现
----不实现
{}也多余
2. 定义
抽象方法:当父类中某个方法没有办法实现,且具体的子类可以实现,父类的方法就可以声明成抽象方法,使用abstract修饰。
3. 使用规则
当一个类中有抽象方法时,则此类必须是抽象类
将父类中的抽象方法交由子类来重写实现。
或者
4. 抽象方法和抽象类的说法
(1)一个类中如果有抽象方法,则此类一定是抽象类
(2)一个类如果是抽象类,则此类不一定有抽象方法
只有一个目的:限制实例化,迫使你使用子类。
5. 两个应用
问:为什么pet的输出是包名+@+内存地址结构
查看源代码 ctrl + 单击 println方法
Object类的源码
会看到jdk底层有很多方法会使用native修饰,但没有方法体,这样的方法称为本地方法。
Object类中所有方法都能被继承。
结论:打印一个对象实际上最终是调用对象的toString方法
开发时,更多的希望输出一个对象的数据,而不是内存地址。
由于toString方法是Object中的方法,父类方法不能满足子类的需求,因此子类需要重写父类的toString方法。
子类
【Java余元面向对象】(23)抽象方法/抽象类相关推荐
- Java面向对象之抽象方法抽象类、接口的使用
一.抽象 1.简单说明 只是声明,并不去实现 抽象方法:public abstract void act();,没有方法体,直接结束,抽象方法只能存在于抽象类中. 抽象类:public abstrac ...
- java饲养员喂动物_做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处...
做一个饲养员给动物喂食物的例子体现JAVA中的面向对象思想,接口(抽象类)的用处 interface Animal{ //动物的接口 public void eat(Food food); // ...
- Java有关于面向对象中的【抽象类、抽象方法和多态】的解释(初学者)
这里写自定义目录标题 前言 Java中的抽象 基本类 && 基本方法 抽象类 && 抽象方法 抽象类的公有抽象方法 子类的实现父类公有方法 多个子类中与众不同的私有方法 ...
- java中 继承、重写、抽象类、抽象方法、多态的学习
0.复习: 0.1 静态: 1.静态成员变量:作为数据 被所有对象共享 属于类的 2.静态成员方法:工具 3.静态代码块: 初始化数据 0.2 工具类: 1.Arrays: 1.1 ...
- 小汤学编程之JAVA基础day08——面向对象(三):抽象类与接口
一.抽象类 1.抽象类的由来 2.几点注意 3.语法规则 二.接口 1.定义方式 2.属性和方法 三.总结 一.抽象类 1.抽象类的由来 "用进废退", ...
- JAVA设计模式总结之23种设计模式(重点!!!)
JAVA设计模式总结之23种设计模式: 一.什么是设计模式 设计模式遵循的原则有6个: 二.设计模式的三个分类 三.各分类中模式的关键点 四.概说23种设计模式 1.单例模式(Singleton) 2 ...
- 1-10 Java 继承、protected和abstract抽象类
文章目录 1.继承 1)概念 2)代码例子 2.重写 1) 业务背景 2)代码实现 3)代码说明 3.抽象类,抽象方法 1)业务场景 2)abstract,抽象的 4.protected 修饰符 1. ...
- Java基础之面向对象的概念 继承---组合----枚举类
Java基础之面向对象的概念 继承---组合----枚举类 本章作为面向对象概念的最后一篇,但是作为一名java程序员在面向对象的这条路上还很长. 一.继承与组合简介 继承是实现类重用的重要手段,但是 ...
- 【Java基础】面向对象(三)
[Java基础]面向对象(三) 一.多态 概念 引用类型转换 二.Object类 概述 常用方法 三.抽象类 抽象类与抽象方法的定义 注意事项 四.接口 概述 接口定义 含有抽象方法 含有默认方法和静 ...
最新文章
- TCP/IP详解--第十章
- vue-textarea 自适应高度
- 009_JMS中的事务
- USTC English Club Note20171016(2)
- Redis---概述
- 一套房钱就可以做一个品牌的电子烟,让罗永浩们再赚一波快钱?
- Sphinx sphinx_rtd_theme
- hihocoder第238周:杨氏矩阵的个数
- oracle job放在哪里,oracle在job的使用有关问题
- CENTOS 使用 MUTT发送邮件
- ASP.NET 页面双向静态化
- 计算机网络技术思维导图幕布全整理(附网页版链接)
- 怎么用计算机名称共享打印机设置,如何共享打印机设置教程
- html脱离文档流,css固定定位脱离文档流怎么解决?
- Unity实战篇 | unity接入QQ登录 详细过程——Android篇
- 早上还在改 Bug,晚上就被裁了
- divgrad怎么求_请问高等数学中div(grad u)中的div是什么意思?
- unity动态改变自发光
- Big Faceless Java PDF Library[BFO]
- 柯西积分不等式的证明题
热门文章
- 第4套 从零到商业实战篇 斗战神篇
- 「 周末去哪儿」安卓版免费下载 - 豌豆荚
- 原生JS写《像素鸟》的小游戏(下落的小鸟)
- 引擎Demo演示-算是一个转折点吧
- 我幼儿园的弟看了都直呼简单的【栈和队列】
- 艾永亮:回力鞋生死的92年,风靡全球后没落,如今成功逆袭
- MySQL密码策略管理插件validate_password
- 【李刚-21天通关Python-27】之 案例实操:函数装饰器应用
- 动易Powereasy 2006 SP6升级至PowerEasy_SiterWeaver_CMS6.8 ACCESS版本纪录
- Dots Animation