抽象类的注意事项、abstract关键字的冲突--java进阶day02
1.注意事项

1.抽象类不允许创建对象

2.抽象类存在构造方法

3.抽象类中可以存在普通成员方法

4.抽象类的子类存在两种处理方式

第一种不多解释,主要讲第二种,子类继承了抽象类,相当于子类里面有了抽象类的抽象方法,不作具体描述就会报错

我们又知道抽象方法存在于抽象类中,如果把子类也改为抽象类,那么就不必再对抽象方法进行重写描述了

这时就有人会疑问,如果把子类也变为抽象类,那子类不也不能实例化了吗?
不必担心,还会有其他子类继续继承,依旧可以使用
5.子类也改为抽象类的意义
A是抽象类,B继承了A,并且重写了A的抽象方法,如果此时B也想给自己的子类制定规范,那么B就会写一个抽象方法,此时B也就要变为抽象类,再由C继承B

2.abstract关键字的冲突

抽象类的注意事项、abstract关键字的冲突--java进阶day02的更多相关文章
- java中abstract关键字(抽象类)
需求 当父类某个方法,需要声明,但是又不确定如何实现时,可以用抽象方法,那么这个类就是抽象类 例如:父类是一个动物类,父类里面有很多方法,其中有一个方法是吃食物,但是不知道吃什么,需要子类继承的时候重 ...
- JAVA:类的三大特征,抽象类,接口,final关键字<3>
一.类的三大特征 1.封装性 (1).什么是封装 封装就是把抽象出的数据和对数据的操作封装在一起, 数据被保护在内部, 程序的其他部分只有通过被授权的操作(成员方法), 才能对数据进行操作. (2). ...
- Java学习第三篇:类的三大特征,抽象类,接口,final关键字
一.类的三大特征 1.封装性 (1).什么是封装 封装就是把抽象出的数据和对数据的操作封装在一起, 数据被保护在内部, 程序的其他部分只有通过被授权的操作(成员方法), 才能对数据进行操作. (2). ...
- 抽象类的基本概念------abstract
抽象类的概念: 包含一个抽象方法的类就称为抽象类. 抽象方法:只声明但未实现的方法称为抽象方法,使用abstract关键字声明. 抽象类的定义及使用规则: abstract class A{ // 是 ...
- abstract关键字
概念 abstract关键字表示的是抽象的意思,可以用来修饰类和方法.修饰类我们称为抽象类,修饰方法我们称为抽象方法. abstract修饰类,抽象类 1.public abstract clas ...
- final与abstract关键字
final特点: 1:这个关键字是一个修饰符,可以修饰类,方法,变量. 2:被final修饰的类是一个最终类,不可以被继承. 3:被final修饰的方法是一个最终方法,不可以被覆盖. 4:被final ...
- 使用abstract关键字的使用
package abstract1.demo01; //使用abstract关键字修饰的类叫做抽象类public abstract class Father { public static void ...
- Java基础之final和abstract关键字
final final在Java中是一个保留的关键字,可以声明成员变量.方法.类以及本地变量.一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编 ...
- java中的this、super、static、final、abstract关键字的作用
this关键字的作用 1.this是对象内部指代自身的引用,同时也是解决成员变量和局部变量同名问题: 2.this可以调用成员变量,不能调用局部变量: 3.this也可以调用成员方法,但在普通方法中可 ...
- abstract关键字及static关键字
抽象关键字abstract 抽象类 在类前加上关键字abstract可以将此类变成抽象类.抽象类不允许通过new关键字实例化,但是可一通过其子类向上转型为其创建实例. 抽象类可以有抽象方法,也可以没有 ...
随机推荐
- 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
Navicat导出的MySQL8.0脚本在低版本MySQL导入执行报错 utf8mb4_0900_ai_ci 替换 utf8_general_ci utf8mb4 替换 utf8 完成以上两点替换再次 ...
- webpack使用详解
官网 官网:https://webpack.js.org 中文网:https://www.webpackjs.com 一.介绍 从webpack4.+进行介绍,会对Webpack常用配置一一讲解,各个 ...
- UML的9种常用图与建模工具详解
UML即Unified Model Language,是一种建模语言,也是标准建模语言.在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便 ...
- biancheng-Thymeleaf教程
Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎.它与 JSP,Velocity,FreeMaker 等模板引擎类似,也可以轻易地与 Spring MVC 等 Web ...
- Spring5 框架基本概念
课程内容介绍1.Spring 框架概述2.IOC 容器(1)IOC 底层原理(2)IOC 接口(BeanFactory)(3)IOC 操作 Bean 管理(基于 xml)(4)IOC 操作 Bean ...
- Hub PG walkthrough Easy
刚刚做了一个太难得简直看不懂 现在来做个简单的找回信心 nmap ┌──(root㉿kali)-[/home/ftpuserr] └─# nmap -p- -A 192.168.132.25 Star ...
- 萌新赛 sprintf漏洞
首先是个.git源码源码泄露,用githack回复一下源码 源码 <?php $pass=sprintf("and pass='%s'",addslashes($_GET[' ...
- mac支持rar解压缩
一.下载 下载macOS版本:RAR 5.71 for macOS (64 bit) 二.安装 1.双击解压刚才下载的rarosx-5.7.1.tar,使用终端进入刚才解压的文件夹目录下cd /Use ...
- Anoii网络库之Timer实现
Timer的实现挺值得拿出来聊一聊的 Anoii网络库的事件循环: Timer是使用poll的timeout参数实现的,所以定时的精度是毫秒,对于一个网络库而言这足够了.如果不够的话,还可以使用tim ...
- ESP8266+AT指令,使用MQTT协议连接阿里云
AT指令集 AT+CWMODE=1 AT+CWJAP="热点名","热点密码" AT+CIPSNTPCFG=1,8,"ntp1.aliyun.com& ...