Java 接口详解

简介: 一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。

一、接口定义

概念:

一,Java接口,Java语言中存在的结构,有特定的语法和结构;

二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。

格式:jdk8以后知识

修饰符 interface 接口名 [extends 父接口]{
  常量
    抽象方法
    默认方法
}

接口特征:

接口是隐士抽象,变量和方法都可以不用abstract,默认添加abstract

接口中的方法是公有的

1、定义父类接口

9b4a2d0b318e43b1fbe0f4fc4b8eabb.png

2、继承接口 子类继承父类(Cat继承Animal)

fad8bb23d9b377a5ca9f9ee65aec9a9.png

3、多继承接口 子类继承父类(Cat继承Animal、run) ,接口是可以多继承的

23c716f0b548ed1c86468a5f1f8430a.png

4、类实现接口

当类实现接口时,必须实现所有接口,否则类要声明为abstract类

类使用implements关键字实现接口

规则注意点:

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

一个类可以继承一个类,可以实现多接口

0cdf8b3d36960f256f7ebec7a486aad.png

package interfacetest;
interface Animal{
//    定义变量  只能是public修饰符   其它修饰符修饰报错
    public static final int A = 5;
    //缺省 修饰符   默认public
    static final int B = 5;
    //默认public static final
    int C = 5;
    //public 定义方法,其它修饰符修饰报错
//    public abstract int run(int a);
    // 默认添加abstract
//    public int eat();
    public void dance();
}
//接口继承接口用extends  接口可以多继承
interface Cat extends Animal{
    public void catchMouse();
}
//类继承接口要用implement
public class ImplementsOverrideMeth implements Cat{
    /**
     * 继承Cat不仅要重写Cat接口方法,还要重写父接口Animal的方法
     */
    @Override
    public void dance() {
        System.out.println("Animal方法---父类");
    }
    @Override
    public void catchMouse() {
        System.out.println("Cat方法---子类");
    }
    public static void main(String[] args) {
        //创建实现类
        ImplementsOverrideMeth imp = new ImplementsOverrideMeth();
        //实现抽象类
        imp.dance();
        imp.catchMouse();
    }
}


相关文章
|
8天前
|
Java 开发者
奇迹时刻!探索 Java 多线程的奇幻之旅:Thread 类和 Runnable 接口的惊人对决
【8月更文挑战第13天】Java的多线程特性能显著提升程序性能与响应性。本文通过示例代码详细解析了两种核心实现方式:Thread类与Runnable接口。Thread类适用于简单场景,直接定义线程行为;Runnable接口则更适合复杂的项目结构,尤其在需要继承其他类时,能保持代码的清晰与模块化。理解两者差异有助于开发者在实际应用中做出合理选择,构建高效稳定的多线程程序。
30 7
|
8天前
|
前端开发 JavaScript Java
【前端学java】Java中的接口和枚举概念(8)
【8月更文挑战第9天】Java中的接口和枚举概念(8)
25 4
|
1月前
|
并行计算 Java API
深入理解Java中的Lambda表达式与函数式接口
【7月更文挑战第19天】在Java 8中引入的Lambda表达式,不仅简化了代码编写,还为函数式编程提供了支持。本文将探讨Lambda表达式的核心概念、其与函数式接口的关系以及如何在Java中高效利用这一特性来提升代码的简洁性和可读性。我们将通过实例分析Lambda表达式的语法规则和常见用法,同时解释函数式接口的设计原则及其在Java标准库中的应用,旨在帮助开发者更好地理解和运用这一强大的工具。
|
5天前
|
Oracle 安全 Java
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
JDK8到JDK28版本升级的新特性问题之在Java 15及以后的版本中,密封类和密封接口是怎么工作的
|
12天前
|
存储 算法 Oracle
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
19 Java8概述(Java8概述+lambda表达式+函数式接口+方法引用+Stream+新时间API)
39 8
|
12天前
|
数据采集 Java API
java接口防爬虫
8月更文挑战第9天
|
12天前
|
安全 算法 Java
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)(下)
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)
52 6
|
12天前
|
存储 安全 Java
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)(中)
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)
53 5
|
12天前
|
Java 关系型数据库 程序员
11 Java接口(语法、规范、微观&宏观接口)
11 Java接口(语法、规范、微观&宏观接口)
32 6
|
12天前
|
存储 安全 Java
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)(上)
17 Java多线程(线程创建+线程状态+线程安全+死锁+线程池+Lock接口+线程安全集合)
48 3