0%

Java基础—接口的组成更新

这一部分主要记录了Java中接口的不同方法,Java随着版本更新提供了更多的接口方法,这些方法的出现使得接口中不再只能有抽象方法与常量,增加了程序的可维护性。

文章结构分为「接口组成更新的概述、接口的默认方法、接口的静态方法、接口的私有方法」四个部分。

接口组成更新的概述

  • 常量 public static final
  • 抽象方法 public abstract
  • 默认方法(Java 8)
  • 静态方法(Java 8)
  • 私有方法(Java 9)

接口的默认方法

格式
public default 返回值类型 方法名(参数列表) {方法体}
※public可以省略
注意
默认方法不是抽象方法,实现类不强制重写也可以重写,public 可以省略
作用
维护接口,增加功能
示例

1
2
3
public default void show3(){
System.out.println("show3");
}

接口的静态方法

格式
public static 返回值类型 方法名(参数列表) { }
※public可以省略
注意
只能通过接口名调用
示例

1
2
3
4
5
6
7
接口内:
static void show3(){
System.out.println("show3-静态");
}

测试类:
Inter.show3();

接口的私有方法

产生背景
【静态方法】 与 【默认方法】给接口引入“方法体”,所以需要将“方法体内相同内容抽出来”,故必然会产生【私有方法】
格式

  • 格式1:接口私有方法
    private 返回值类型 方法名(参数列表) { }
    范例1
1
private void show() {...}
  • 格式2:接口私有静态方法
    private static 返回值类 方法名(参数列表) { }
    范例2
1
private static void method(){...}

注意

  • 私有静态方法:能用到【接口静态方法】【接口默认方法】
  • 私有方法:只能用【接口默认方法】

综合示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public interface Inter {

//接口默认方法
default void show() {
System.out.println("show2开始执行");

//接口默认方法接受【接口私有方法】、【接口私有静态方法】
show();
method();

System.out.println("show2结束执行");
}


//接口静态方法
static void method2() {
System.out.println("method2开始执行");

//接口静态方法只接受【接口私有静态方法】
method();

System.out.println("method2结束执行");
}


//接口私有方法(上面调用)
private void show(){
System.out.println("初级工程师");
System.out.println("中级工程师");
System.out.println("高级工程师");
}

//接口私有静态方法(上面调用)
private static void method(){
System.out.println("初级工程师");
System.out.println("中级工程师");
System.out.println("高级工程师");
}
}