Java_接口
接口
接口中的方法全都是抽象方法,用来指定一些规则,让子类去重写。接口的作用主要体现在一下两点
1.指定规则
2.利用这些规则给类做功能扩展
接口的定义和使用
接口使用interface关键字来定义,使用implements来实现。
1 //定义接口
2 public interface Inter{
3 //接口中的抽象方法
4 public abstract void method();
5 }
6
7 //实现接口
8 public class InterImpl implements Inter{
9 //重写抽象方法
10 @Override
11 public void method(){
12 System.out.println("重写实现类方法");
13 }
14 }
15
16 public class Demo1{
17 public static void main(String[] args){
18 //创建实现类对象
19 InterImpl impl = new InterImpl();
20 //调用方法
21 impl.method();
22 }
23 }
接口的成员特点
1.接口中的成员变量,默认被 public static final 修饰
2.接口中的方法,默认被 public abstract 修饰
3.接口中不能写构造方法
JDK7以后对接口做了一些更新
JDK7: 接口中的方法全都是抽象方法,子类【必须重写】
JDK8: 允许在接口中写默认方法(被 public default 修饰的方法),【可选重写】
如果多个接口中有相同的默认方法,子类必须重写
允许在接口中写静态方法(被 public static 修饰),使用接口名调
JDK9: 允许在接口中写私有方法 (被 private 修饰),只能在本接口中使用
类与接口的关系
1.类与类的关系:只能单继承
2.类与接口的关系:一个类在继承父类的同时,可以实现多个接口
3.接口与接口关系:一个接口可以继承多个接口
抽象类和接口的区别
主要是设计思想上的区别:
父类(抽象类): 体现的设计思想是【共性抽取】
接口: 体现的设计思想是【功能扩展】

Java_接口的更多相关文章
- java_接口和抽象类的区别
1. 接口只能定义抽象方法,不包含已经提供实现的方法. 抽象类可以包含普通方法 2. 接口不能定义静态方法.抽象类可以定义静态方法 3. 接口里只能定义静态常量filed,不能定义普通filed. 抽 ...
- java_接口的应用
package com.test; interface USB{ //创建一个USB接口,所有的操作要按照这个标准来工作 void start();//默认为public void stop(); } ...
- Java_接口与抽象类
接口: 接口,英文interface,在java中,泛指供别人调用的方法或函数.接口是对行为的一种抽象. 语法: [public] interface InterfaceName{} 注意: 1)接口 ...
- JAVA_接口_默认方法&静态方法
1.小结(注意): 1.接口中无法定义成员变量,但是可以定义常量,其值不可以改变,默认使用public static final修饰 2.接口中,没有构造方法,不能创建对象 3.接口中,没有静态代码块 ...
- Java_接口回调与匿名内部类
匿名内部类 警告:匿名内部类本质上是一个对象 如果有一个接口或者抽象类,必须要用class定义一个实现类写重写抽象方法,才能创建对象并使用. 匿名内部类就是省略了用class定义子类的过程,直接使用父 ...
- ooday07 Java_接口
笔记: 接口: 是一种引用数据类型 由interface定义 只能包含常量和抽象方法------默认权限是public 接口不能被实例化 接口是需要被实现/继承,实现/派生类:必须重写所有抽象方法 一 ...
- java_基础_接口和抽象类
1.接口 java中接口的存在意义是:让多个继承该接口的类实现多态,让多个类有相同的特征 示例代码: interface MyInterface{ void myMethod(); } class T ...
- Java_日志接口实现
日志的接口实现:改用slf4j实现日志功能 为什么要使用slf4j,而不是用log4j或者其他日志框架? 因为slf4j只是规定了一堆实现了日志的接口,并不关心日志怎么实现,这样就可以让项目脱离对日志 ...
- java_抽象类、接口、多态的使用
抽象类 抽象类:包含抽象方法的类. 抽象方法 : 没有方法体的方法. 使用 abstract关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体. 格式为:修饰符 abstra ...
随机推荐
- 阳明-K8S训练营全部文档-2020年08月11日14:59:02更新
阳明-K8S训练营全部文档 Docker 基础 简介 安装 基本操作 Dockerfile Dockerfile最佳实践 Kubernetes 基础 简介 安装 资源清单 Pod 原理 Pod 生命周 ...
- [Fundamental of Power Electronics]-PART I-2.稳态变换器原理分析-2.5/2.6 多极点滤波器电压纹波估计及要点小结
2.5 含两极点低通滤波器变换器的输出电压纹波估计 在分析包含两极点低通滤波器的变换器如Cuk变换器及Buck变换器(图2.25)输出时,小纹波近似将会失效.对于这些变换器而言,无论输出滤波电容的值是 ...
- 201871030110-何飞 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告
201871030110-何飞 实验三 结对项目-<D{0-1}KP 实例数据集算法实验平台>项目报告 项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 ...
- Android+Java Web+MySQL实现登录注册
1 前言&概述 这篇文章是基于此处文章的更新,更新了一些技术栈,更加贴近实际需要,以及修复了若干的错误. 这是一个前端Android+后端Java/Kotlin通过Servelt进行后台数据库 ...
- 从中国加入WTO来看Java设计模式:中介者模式
目录 应用场景 中介者模式 定义 意图 主要解决问题 何时使用 优缺点 世界贸易组织WTO 应用场景 系统中对象之间存在比较复杂的引用关系,导致它们之间的依赖关系结构混乱而且难以复用该对象 想通过一个 ...
- MySQL的半同步是什么?
前言 年后在进行腾讯二面的时候,写完算法的后问的第一个问题就是,MySQL的半同步是什么?我当时直接懵了,我以为是问的MySQL的两阶段提交的问题呢?结果确认了一下后不是两阶段提交,然后面试官看我连问 ...
- 火狐兼容selenium版本解决
火狐和selenium不是很好兼容,下面提供一些我所知道的可以兼容的版本: 1. 火狐52+selenium 3.3 +geckodriver v0.15.0 2.火狐59+selenium 3.11 ...
- 干货满满 AppGallery Connect研习社·直播深度解析优质应用开发流程
- Typora配置PicGo时,提示Failed to fetch【Bug集中营】
Typora配置PicGo时,提示Failed to fetch 两者配置的端口不一致造成的 打开Typora,选择文件-偏好设置-图像-验证图片上传选项,点击验证图片上传选项 会提示错误:Faile ...
- Win10双系统安装Gentoo-(附Networkmanagr/Gnome安装)
安装Gentoo 本文主要参考的是官方Wiki,还有一些网友的经验,在后面的具体安装步骤里会分享对应网友的一些解决办法和相关文章 官方Wiki:https://wiki.gentoo.org/wiki ...