【Java基础】接口
首先,
最近我参加了Java基础培训。虽然在学生时代上课学过Java并掌握了基础知识,但有些内容却遗忘了,所以我将其作为备忘录记录下来。
在这篇文章中,我们将概括介绍Java的基础知识。
这次是关于接口(interfaces)。
接口是指一种连接不同系统或组件的方式。
接口是一种类,它通常只能声明公共的抽象方法。接口不能声明构造函数,而且不能实例化。
接口声明
接口的声明如下。
修飾子 interface インターフェース名 {
インターフェースのメンバ
}
方法
在接口中,可以声明公共的抽象方法。
interface Booking {
public abstract String getTitle();
List<String> getContent(); // public abstractは省略できる
}
场地
在接口中,只能声明public static final的字段(常量)。
interface Booking {
public static final String NAME = "Qiita_Official";
int PRICE = 1000; // public static finalは省略できる
}
接口的实现
接口不能独立实例化,实例化需要实现类。实现类是指实现了接口的所有抽象方法的具体类。声明实现类被称为实现接口。
接口的实现如下所示。
修飾子 class クラス名 implements インターフェース名 {
// 抽象メソッドをオーバーライド
}
class Introduction implements Booking {
// この時点ではコンパイルエラー
}
方法的重写
实现类必须重写接口的所有抽象方法。
class Introduction implements Booking {
private String title;
public Introduction(String title) {
this.title = title;
}
@Override
public String getTitle() {
return title;
}
@Override
public List<String> getContent() {
return List.of(
"Qiitaの投稿方法について紹介している本です。",
"簡単な記事を1つ投稿することを目標としています。"
);
}
}
实现类也是一般的类。您可以声明字段、方法和构造函数。
接口的多重实现
在一个类中,可以实现多个接口。
interface Writing {
void write();
}
當實現多個接口時,必須覆寫每個接口的抽象方法。
class Conclusion implements Booking, Writing {
@Override
public String getTitle() {
return "要旨";
}
@Override
public List<String> getContent() {
return List.of(
"Qiitaの投稿方法について紹介している本です。",
"簡単な記事を1つ投稿することを目標としています。"
);
}
@Override
public void write() {
List<String> content = getContent();
for (String line : content) {
System.out.println(line);
}
}
}
总结
通过使用本篇文章介绍的接口以及之前介绍的继承,我们可以简洁地编写代码。通过有效的实施,我们努力使Java代码变得优雅!