Java 关于抽象 -- Java 语言的抽象类、接口和函数式接口
在Java中,有两种方式来实现抽象:
- 抽象类:使用
abstract
关键字定义的类。抽象类不能被实例化,它只能被继承。抽象类可以包含抽象方法,也可以包含具体实现的方法。
public abstract class AbstractClass {
public abstract void abstractMethod(); // 抽象方法
public void concreteMethod() { // 具体方法
// 方法实现
}
}
- 接口:使用
interface
关键字定义的接口。接口可以包含抽象方法,以及由default
关键字定义的默认方法和由static
关键字定义的静态方法。
public interface Interface {
void interfaceMethod(); // 抽象方法
default void defaultMethod() { // 默认方法
// 方法实现
}
static void staticMethod() { // 静态方法
// 方法实现
}
}
Java 8 引入了一种新的抽象:函数式接口。函数式接口是只包含一个抽象方法的接口,可以通过@FunctionalInterface
注解来标识。这种接口主要用于Lambda表达式和方法引用。
@FunctionalInterface
public interface FunctionalInterface {
void functionalMethod(); // 这个方法是唯一的抽象方法
}
以上代码展示了如何在Java中定义抽象类、接口以及函数式接口。
评论已关闭