003、java面向对象_Java接口
本文最后更新于 271 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

java面向对象_Java接口

Java接口概念

Java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

Java接口主要有以下特点

1、接口中的所有方法都是抽象的,不能有具体实现。
2、接口定义的常量默认是 public static final 的。
3、一个类可以实现多个接口,实现接口使用 implements 关键字。
4、接口不能被实例化。
5、接口可以继承另外一个接口,使用 extends 关键字。
6、接口与抽象类有些相似,但也有很大区别,比如接口不能包含构造器、变量和实例方法等。

Java接口的具体作用

1、接口定义了一个规范,类实现这个规范即可满足某些特定的需求。
2、接口可以使代码结构更加清晰,提高代码的可读性和可维护性。
3、接口能够降低耦合度,让代码更加灵活可扩展。

定义接口

Java接口使用 interface 关键字来定义,语法如下:

public interface 接口名 {
    // 一些常量定义
    // 一些抽象方法签名
}

其中,public 表示该接口对外可见,接口名采用驼峰式命名法。
例如,定义一个简单的接口 MyInterface ,如下所示:
在该接口中,定义了一个名为 INT_CONST 的常量和一个名为 myMethod 的抽象方法。注意到在接口中定义常量时,需要显式地使用关键字 public static final,因为接口中的方法和常量默认为 public 访问权限,且不允许在接口中定义实例变量。

public interface MyInterface {
    // 常量定义
    public static final int INT_CONST = 10;

    // 抽象方法
    void myMethod();
}

实现接口

一个类通过实现一个或多个接口来表明它具有某种功能。在Java中,使用 implements 关键字来实现接口。

public class MyClass implements MyInterface {
    // 实现接口中定义的方法
    @Override
    public void myMethod() {
        // 具体实现
    }
}

在上面的代码中,MyClass 类实现了 MyInterface 接口,并提供了 myMethod 的具体实现。
一个类可以实现多个接口,接口之间可以通过逗号分隔来指定多个接口。

public class MyClass implements Interface1, Interface2, Interface3 {
    // 实现多个接口中定义的方法
}

接口继承

接口可以通过继承其他接口来扩展。

public interface SubInterface extends SuperInterface {
    // 声明新的方法
}

在上面的代码中,SubInterface 接口扩展了 SuperInterface 接口,同时它也可以声明新的方法。一个接口也可以同时继承多个接口。

public interface SubInterface extends SuperInterface1, SuperInterface2 {
    // 声明新的方法
}

默认方法

从Java 8开始,接口支持默认方法,默认方法是一种带有方法体的普通方法,用于扩展接口的功能。

public interface MyInterface {
    // 抽象方法
    void myMethod();

    // 默认方法
    default void myDefaultMethod() {
        // 具体实现
    }
}

在上面的代码中,MyInterface 接口定义了一个抽象方法 myMethod 和一个默认方法 myDefaultMethod。实现该接口的类可以重写默认方法,也可以使用默认方法的实现,如下所示:

public class MyClass implements MyInterface {
    @Override
    public void myMethod() {
        // 具体实现
    }

    @Override
    public void myDefaultMethod() {
        // 重写默认方法的实现
    }
}

静态方法

从Java 8开始,接口也支持静态方法。

public interface MyInterface {
    // 抽象方法
    void myMethod();

    // 默认方法
    default void myDefaultMethod() {
        // 具体实现
    }

    // 静态方法
    static void myStaticMethod() {
        // 具体实现
    }
}

在上面的代码中,MyInterface 接口定义了一个抽象方法、一个默认方法和一个静态方法。由于静态方法属于接口本身而不是实现它的类,因此可以通过接口名直接调用静态方法。

MyInterface.myStaticMethod();
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇