广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java详细讲解不同版本的接口语法和抽象类与接口的区别
  • 663
分享到

Java详细讲解不同版本的接口语法和抽象类与接口的区别

2024-04-02 19:04:59 663人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录什么是接口?接口的语法: (jdk7.0)接口的语法: (JDK8.0)接口的语法: (JDK9.0)—(私有方法)接口的分类常量接口:空接口:函数式接口:什么是接口

什么是接口?

说到接口,USB大家肯定不陌生~
接口是一种标准、规范.
注意:接口一旦制定好,使用者和实现者都必须遵循的标准.

在这里插入图片描述

接口的语法: (JDK7.0)

(1) 关键字:interface 
(2) 语法:  interface 接口名{} 
(3) 接口编译之后会生成对应的 .class文件 
(4) 接口不能创建对象,但是可以声明引用 接口名 引用名; 
(5) 接口中没有构造方法 
(6) 接口中所有的属性都是公开的静态常量
    (默认被:public static final) 
(7) 接口中所有的方法都是公开抽象方法
    (默认被:public abstract修饰) 
    注意:接口中的方法默认访问权限为public; 
         类中方法默认访问权限是 default

接口的实现类:

语法:

class 类名 implements 接口名{} 

注意:实现的关键字为 implements 
(1) 如果实现类不想成为抽象类,必须覆盖(实现)接口中所有的方法 
(2) 实现类中覆盖接口中的方法时,访问权限必须是public
使用:
(1) 接口类型的引用中,只能存储对应实现类的对象,体现多态的应用 
(2) 语法:

    接口名 引用名 = new 实现类类名(实参); 

    注意:一个接口可以定义多个实现类

接口的继承性:(很重要哦~)

接口与接口之间为多继承的关系

(1) 一个接口可以同时继承多个父接口 

(2) 语法: 

    interface 接口名 extends 父接口名1,父接口名2{}

类与接口之间为多实现的关系

(1) 一个类可以同时实现多个接口 

(2) 语法: 

    class 类名 implements 接口名1,接口名2{} 

(3) 一个类同时实现多个接口,不想成为抽象类,则需要实现所有接口中所有方法 
    (包括所实现接口的父接口中的方法)

一个类实现多个接口的同时还有可以继承一个类

(1) 如果一个类继承一个父类同时实现多个接口,必须先继承,再实现 

(2) 语法: 

    class 类名 extends 父类名 implements 父接口1,父接口2{} 

    注意:必须先 extends ,再 implements 

类与类之间存在:单继承------extends

类与接口之间存在:多实现------implements

接口与接口之间存在:多继承------extends

接口的影响:

1.由于接口之间为多继承的关系,同时类与接口之间是多实现的关系,所以让多态更加多元化和复杂
2.如果强制类型转换的双方只要有一方为接口类型,则编译一定通过,运行分以下两种情况:
  a.如果转换的引用中存储的实际对象类型是要转换类型的一种,运行通过 
  b.如果转换的引用中存储的实际对象类型不是要转换的一种,编译通过,但是运行报错,错误信息:
    Java.lang.ClassCastException(类型转换异常)

接口的语法: (JDK8.0)

(1) 默认方法: 

    a. public default 返回值类型 方法名(形参列表){ 
            // 方法的实现部分 
       } 

    b. 注意:接口中方法被 default修饰代表,此方法允许带有方法实现部分 
    c. 默认方法访问权限 为 public 
    d. 默认方法允许被覆盖,但是覆盖时访问修饰符为 public 

(2) 静态方法: 

    a. public static 返回值类型 方法名(形参列表){ 
            // 方法的实现部分 
       } 

    b. 接口中静态方法访问权限是public

接口的语法: (JDK9.0)—(私有方法)

(1) 接口中从9.0开始,方法可以被 private修饰 

(2) 语法: 

    private 返回值类型 方法名(形参列表){ 
        // 方法的实现 
    } 

(3) 私有方法供接口内部使用,通常将其他方法的共同逻辑部分提取,减少代码冗余

接口的分类

常量接口:

接口中只有属性、没有方法,应用很少

空接口:

通常称为标记接口,接口中没有任何属性和抽象;
例如:IO对象序列化时应用

函数式接口:

接口中有且只有一个抽象方法(静态和默认不关注),广泛应用在Lambda表达式中

抽象类和接口的区别? (要牢记哦~)

在这里插入图片描述

到此这篇关于Java详细讲解不同版本的接口语法和抽象类与接口的区别的文章就介绍到这了,更多相关Java 接口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java详细讲解不同版本的接口语法和抽象类与接口的区别

本文链接: https://www.lsjlt.com/news/145434.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java详细讲解不同版本的接口语法和抽象类与接口的区别
    目录什么是接口?接口的语法: (JDK7.0)接口的语法: (JDK8.0)接口的语法: (JDK9.0)—(私有方法)接口的分类常量接口:空接口:函数式接口:什么是接口...
    99+
    2022-11-13
  • Java不同版本接口语法和抽象类与接口的区别是什么
    本文小编为大家详细介绍“Java不同版本接口语法和抽象类与接口的区别是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java不同版本接口语法和抽象类与接口的区别是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知...
    99+
    2023-06-29
  • Java 接口和抽象类的区别详解
    目录什么是抽象类和接口? 区别在哪里?抽象类接口抽象类和接口解决了什么问题?如何模拟抽象类和接口如何决定该用抽象还是接口?什么是抽象类和接口? 区别在哪里? 不同的编程语言对接口和...
    99+
    2022-11-12
  • Java超详细讲解抽象类与接口的使用
    目录一、抽象类1、抽象类的语法2、抽象类的特性3、抽象类的作用二、接口1、接口的概念2、接口使用3、接口特性4、实现多个接口5、接口间的继承6、常用的接口(1)Comparable接...
    99+
    2022-11-13
  • Java抽象类和接口的区别详情
    1、抽象类 vs 接口  方法类型: 接口只能有抽象方法。抽象类可以有抽象和非抽象方法。从 Java 8 开始,它也可以有默认和静态方法。 最终变量: 在 Java...
    99+
    2022-11-12
  • java中的抽象类和接口定义与用法详解
    目录一、抽象类1.什么叫抽象类?2.抽象类的特点:3.成员特点:二、接口1.接口是什么?2.接口的特点3.接口的组成成员4.类与抽象的关系:5.抽象类与接口的区别:一、抽象类...
    99+
    2022-11-12
  • 深入理解JAVA抽象类和接口的比较与异同
    目录一、理解抽象类  二、从语法定义层面看抽象类和接口三、从编程的角度看抽象类和接口四、从设计理念层面看抽象类和接口五、总结 抽象类(abstract ...
    99+
    2022-11-13
  • 详解Java枚举与接口常量和类常量的区别
    目录一个简单的需求接口常量类常量枚举什么是枚举枚举常量限制输入的类型枚举可以使用==来比较吗枚举实现单例一个简单的需求 在我们实际开发java项目过程中,突然有一天"领导老...
    99+
    2022-11-13
    Java枚举 接口常量 类常量 Java 枚举 Java 接口常量 Java 类常量
  • Java零基础也看得懂的单例模式与final及抽象类和接口详解
    目录1.单例模式1.饿汉式和懒汉式的实现2.饿汉式3.懒汉式4.懒汉式和饿汉式的区别2.final的使用1.基本介绍2.使用场景3.使用注意事项和细节讨论3.抽象类1.基本介绍2.使...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作