首页 > 编程语言 >Java接口

Java接口

时间:2024-01-20 15:11:09浏览次数:33  
标签:Java 实现 接口 抽象 默认 方法 public

一、什么是接口

生活中的接口:一种公共的规范标准;

Java中的接口:多个类的公共规范;是一种引用数据类型,其中最重要的是:抽象方法

二、接口中的抽象方法

 

(一)定义接口:public interface 接口名称 { }

编译生成的字节码文件仍然是.java->.class

Java7:常量+抽象方法

Java8新增默认方法+静态方法

Java9新增私有方法

(二)定义抽象方法

public abstract void methods();

注:接口当中的抽象方法,修饰符必须是两个固有的关键词:public abstract

接口使用

 

 

(三)实现类

1.接口不能直接使用,需要有一个实现类来实现该接口

public class 实现类名称 implements 接口名称{}

2.接口的实现类必须覆盖重写(实现)接口中所有的抽象方法

实现:去掉abstract关键字,加上方法体大括号

快捷键Ctrl+o

 

(四)创建类实例的对象,进行使用

 

 

注:如果实现类并没有覆盖重写接口中所有的抽象方法,那么这个实现类自己就必须是抽象类abstract

三、其他方法

1.默认方法:接口中写实现{方法体}

public default 返回值类型 方法名称(参数列表){方法体}

2.静态方法:通过接口名称直接调用

public static 返回值类型 方法名称(参数列表){方法体}

3.私有方法:普通私有方法和静态私有方法

private (static)返回值类型 方法名称(参数列表){方法体}

通过接口名称直接调用

四、接口中的常量---成员变量

public static final 不写也是一样的

接口中的常量必须赋值,不赋值会报错

五、注意

接口不能有静态代码块+构造方法

一个类的直接父类(Object)是唯一的,但是一个类可以同时实现多个接口【单继承多实现】

实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次

实现类所实现的多个接口当中,存在重复的默认方法,那么实现类需要对冲突的默认方法进行覆盖重写

父类中的方法和接口中的默认方法冲突,优先使用父类的方法

接口与接口是多继承的(多个父接口中抽象方法重复,没关系;多个父接口中的默认方法重复,子接口需要重写)

 

标签:Java,实现,接口,抽象,默认,方法,public
From: https://www.cnblogs.com/yheyi/p/17976458

相关文章

  • JavaScript数组常用方法
    1、带回调函数的方法当涉及到数组操作时,JavaScript提供了许多有用的方法。下面是对一些常见的数组方法的讲解:forEach:forEach方法用于遍历数组中的每个元素,并对每个元素执行一个回调函数。它没有返回值,仅用于执行操作。例如:constnumbers=[1,2,3,4,5];numbers.forEa......
  • Java21 + SpringBoot3集成WebSocket
    目录前言相关技术简介什么是WebSocketWebSocket的原理WebSocket与HTTP协议的关系WebSocket优点WebSocket应用场景实现方式添加maven依赖添加WebSocket配置类,定义ServerEndpointExporterBean定义WebSocketEndpoint前端创建WebSocket对象总结前言近日心血来潮想做一个开源项目,目......
  • Java登陆第三十一天——监听器
    逻辑上与JS中的事件差不多。被监视的对象触发某些情况,自动执行监听器。不同于JS的事件,监听器只负责监听三大域对象的相关事件,例如:域对象的创建域对象的销毁域对象数据增删改八个监听器Tomcat提供了八个监听器接口作为监听器的规范。应用域域监听器ServletCont......
  • 《Java实战(第2版)》PDF
    现代Java应用充分利用了微服务、反应式架构以及流式数据等创新设计。现代Java特性,譬如Lambda、流以及大家期待已久的Java模块系统让这些设计的实现极其便利。是时候更新技能工具箱了,只有这样,你才能从容应对迎面而来的种种挑战!本书通过透彻的示例和通俗的语言讲解了Java语言这些最激......
  • 《Java并发实现原理:JDK源码剖析》PDF
    《Java并发实现原理:JDK源码剖析》全面而系统地剖析了JavaConcurrent包中的每一个部分,对并发的实现原理进行了深刻的探讨。全书分为8章,第1章从最基础的多线程知识讲起,理清多线程中容易误解的知识点,探究背后的原理,包括内存重排序、happen-before、内存屏障等;第2~8章,从简单到复杂,逐......
  • java面向对象基础语法之两个对象的内存图
    一:概述在相关文章前面说明了一下一个对象的内存图,在这里将继续说明两个对象的内存图。二:具体说明<1>实例代码Student类publicclassStudent{Stringname;intage;Stringaddress;publicvoidstudy(){......
  • JAVA8 - 流 - 查找和匹配
    查找和匹配Dish类:packagecom.demo3;publicclassDish{privatefinalStringname;privatefinalbooleanvegetarian;//素食注意privatefinalintcalories;privatefinalTypetype;publicDish(Stringname,booleanvegetarian,intca......
  • pythonUI自动化之selenium获取浏览器接口信息
    #导入Selenium库中的Chrome驱动和DesiredCapabilities类fromselenium.webdriverimportChrome,DesiredCapabilities#导入Chrome驱动的特定选项类fromselenium.webdriver.chrome.optionsimportOptions#这是主程序的入口点,只有当该文件被直接运行时,以下的......
  • Java多线程
    Java多线程名词解释程序(program)是为完成特定任务、用某种语言编写的一组指令集合。简单而言:就是自己写的代码进程(Process)进程是指运行中的程序,比如启动迅雷时,就启动了一个进程,操作系统就会为该进程分配内存空间。进程是程序的一次执行过程,或是正在运行的一个程序。是......
  • 《Java并发实现原理:JDK源码剖析》PDF
    《Java并发实现原理:JDK源码剖析》全面而系统地剖析了JavaConcurrent包中的每一个部分,对并发的实现原理进行了深刻的探讨。全书分为8章,第1章从最基础的多线程知识讲起,理清多线程中容易误解的知识点,探究背后的原理,包括内存重排序、happen-before、内存屏障等;第2~8章,从简单到复杂,逐......