Java中抽象类和接口的区别?

抽象类和接口的概念

抽象类

抽象类必须用 abstract 修饰,子类必须实现抽象类中的抽象方法,如果有未实现的,那么子类也必须用 abstract 修饰。抽象类默认的权限修饰符为 public,可以定义为 public 或 procted,如果定义为 private,那么子类则无法继承。抽象类不能创建对象

接口

接口中的变量隐式的使用 public static final 修饰,并且需要给出初始值。方法隐式的使用 public abstract 修饰(并且只能是 public ,如果是 private,procted,那么就编译报错)。接口中的方法默认不能有具体的实现(JDK1.8开始可以有默认的实现)

抽象类和普通类的区别

1 . 抽象类必须用public、procted 修饰(如果为private修饰,那么子类则无法继承,也就无法实现其抽象方法)。默认缺省为 public

2 . 抽象类无法创建对象

3 . 如果一个子类继承抽象类,那么必须实现其所有的抽象方法。如果有未实现的抽象方法,那么必须定义为 abstract

抽象类和接口的区别

1 . 抽象类只能继承一次,但是可以实现多个接口

2 . 接口和抽象类必须实现其中所有的方法,抽象类中如果有未实现的抽象方法,那么子类也需要定义为抽象类。抽象类中可以有非抽象的方法

3 . 接口中的变量必须用 public static final 修饰,并且需要给出初始值。所以实现类不能重新定义,也不能改变其值。

4 . 接口中的方法默认是 public abstract,也只能是这个类型。不能是 static,接口中的方法也不允许子类覆写,抽象类中允许有static 的方法

抽象类和接口的相同点

1 . 抽象类和接口均包含抽象方法,类必须实现所有的抽象方法,否则是抽象类

2 . 抽象类和接口都不能实例化,他们位于继承树的顶端,被其他类继承和实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gimp 抠图_gimp抠图教程:gimp快速实现抠图效果

摘要:将图像中需要的部分从画面中精确地提取出来,我们就称为抠图,抠图是后续图像处理的重要基础,关于gimp的快速抠图技巧你们知道吗?将图像中需要的部分从画面中精确地提取出来,我们就称为抠图,抠图是后续…

docker build -t_在Docker环境构建、打包和运行Spring Boot应用

为何考虑采用Docker?Docker是提供用户构建镜像的一种容器化技术,所构建的镜像包含了主要的应用程序和运行应用所需的所有依赖项。该镜像可在任何虚拟机或物理机器上的Docker容器上运行。它的强大之处在于允许用户在开发、测试、预生产和生产中运行同样的…

Java内部类是什么?

在类内部可定义成员变量和方法,且在类内部也可以定义另一个类。如果在类 Outer 的内部再定义一个类 Inner,此时类 Inner 就称为内部类(或称为嵌套类),而类 Outer 则称为外部类(或称为宿主类)。 …

mysql 删除表记录的 存储过程命令_用SQL语句删除一个数据库的所有表和所有存储过程...

如果数据库里有很多表和存储过程,要用手动鼠标右键一个个删除是很麻烦的,用SQL语句来删除就方便很多了删除所有的表:如果由于外键约束删除table失败,则先删除所有约束:--/第1步**********删除所有表的外键约束********…

有意思的编程面试问题

第一:有12个外观完全一样的球;   第二:11个是好球,重量相同;   第三:有一个球是“坏球”,重量与其他11个球异常,但不知偏轻偏重!   第四:有一架天平&am…

MOOC-人工智能实践:Tensorflow笔记4.2自制数据集txt文件和数据集不匹配解决办法(读取文件名并提取内容并合并原始内容与提取内容)

1、读取文件名称生成txt文件 # P01 批量读取文件名,并将读取的文件名保存到指定路径下的txt中(带.*** 后缀)import os def ListFilesToTxt(dir, file, wildcard, recursion):exts wildcard.split(" ")files os.listdir(dir)for …

file数组 删除文件_java编程IO基础之一:File类

在整个java.io包中,File类是唯一的一个与文件本身操作有关的类,既可以执行文件的创建、删除、重命名,取得文件大小和修改日期。File的构造函数:public File(String pathname) 给定一个要操作文件的完整路径。public File(File par…

Java实例内部类

实例内部类是指没有用 static 修饰的内部类,有的地方也称为非静态内部类。示例代码如下: public class Outer {class Inner {// 实例内部类} }上述示例中的 Inner 类就是实例内部类。实例内部类有如下特点。 1 . 在外部类的静态方法和外部类以外的其他…

mysql table fetching_MySQL死锁分析一例

Tomcat日志报死锁错误,show innodb status获取死锁信息:------------------------LATEST DETECTED DEADLOCK------------------------181107 9:30:46*** (1) TRANSACTION:TRANSACTION 2067C318, ACTIVE 16 sec fetching rowsmysql tables in use 1, lock…

excel工具箱_WPS搬来救兵智能工具箱,强大到Excel没有还手之力

EXCEL不加班眼见Excel连胜2局,WPS慌了,搬来救兵智能工具箱,这个神器,所到之处,问题瞬间解决。这智能工具箱究竟是何方宝物,强大到Excel没有还手之力!Excel2016的闪电填充确实牛逼,不…

目标检测初始准备环节-安装包所需镜像源网址(以Labelimg为例)

目标检测安装labelimg对自己的数据集进行标记(windows系统) pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple镜像源可以替换为: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://m…

mysql cve 2016 3521_MySQL-based databases CVE -2016-6663 本地提权

date: 2016/11/3author: dlive0x01 漏洞原文翻译水平不高求轻喷感觉作者在写文章的时候有些地方描述的也不是特别清楚,不过结合poc可以清晰理解漏洞利用过程0x04漏洞利用过程总结给出了清晰的漏洞利用过程,结合poc食用效果更佳# http://legalhackers.com…

Java静态内部类

静态内部类是指使用 static 修饰的内部类。示例代码如下: public class Outer {static class Inner {// 静态内部类} }上述示例中的 Inner 类就是静态内部类。静态内部类有如下特点。 1 . 在创建静态内部类的实例时,不需要创建外部类的实例。 public …

oracle em界面监控出来的奇怪图像_海康poe主机断电重启后不出图像,显示用户被锁定...

海康poe主机断电重启后不出图像,显示用户被锁定前段时间给客户装了一套海康poe主机的监控系统,摄像头也是海康的130万的poe摄像头,客户突然打电话来说,断电重启后监控图像不出来了,我很奇怪,海康的监控系统也做过很多&…

论文图标visio等字体对应

八号=5磅(5pt) (5/72)*966.67 6px 七号=5.5磅 (5.5/72)*967.3 7px 小六=6.5磅 (6.5/72)*968.67 8px 六号=7.5磅 (7.5/72)*9610px 小五=9磅 (9/72)*9612px 号=10.5磅 (10.5/72)*9614px 小四=12磅…

harbor重置mysql密码_Harbor密码重置 密码修改 admin密码重置

Harbor密码重置harbor现在是使用postgresql 数据库了。不再支持mysql,网上有N多重置Mysql密码的,可以略过了。我密码错了默认的Harbor12345 修改为: RedHat12345 然后忘记密码死活登陆不上。卸载重新重新安装也不可以,原因是没有删…

Java局部内部类

局部内部类是指在一个方法中定义的内部类。示例代码如下: public class Test {public void method() {class Inner {// 局部内部类}} }局部内部类有如下特点: 1 . 局部内部类与局部变量一样,不能使用访问控制修饰符(public、pri…

mysql 数据迁移_CentOS7迁移Mysql数据库文件

1、查看Mysql安装路径cat /etc/my.cnf2、查看数据盘路径df3、数据盘下创建mysql数据目录,设置目录磁盘写入权限cd /mnt1/xfrb_database/mkdir mysqlchmod -R 777 /mnt1/xfrb_database/mysql/ls -l -a目录创建和权限设置成功。4、停止Mysql服务,拷贝Mysql…

mysql json类型最大长度限制_MySQL json 数据类型

必须要5.7以上版本才能使用 写在开头 mysql json 的功能很强大,只是用来当一个储存数据的字段 就没什么意义了。 使用proto做交互的话,只要JSON 写得好 用proro.Unmarshal() 就可以很方便的转换类型 可以精简很多代码 JSON path 是以 $ 开头,之后就是JSON的层级使用。$ $[0]…

火狐浏览器title过长显示不全_浏览器渲染

简述浏览器的内核是指支持浏览器运行的最核心的程序,分为两个部分的,一是渲染引擎,另一个是JS引擎。渲染引擎在不同的浏览器中也不是都相同的。目前市面上常见的浏览器内核可以分为这四种:Trident(IE)、Gec…