Java软件接口主要分为以下几种类型,涵盖基础语法和常见应用场景:
一、核心接口类型
普通接口 定义一组抽象方法,实现类需提供具体实现。例如:
```java
public interface Animal {
void eat();
void sleep();
}
```
支持多继承特性,一个类可实现多个接口。
函数式接口
仅包含一个抽象方法,可包含默认方法和静态方法,常用作Lambda表达式目标类型。例如:
```java
@FunctionalInterface
public interface Consumer void accept(T t); } ``` 常见函数式接口包括`Predicate 常量接口 仅包含常量字段,用于定义一组固定值。例如: ```java public interface Color { RED = 1; GREEN = 2; BLUE = 3; } ``` 二、标准库常用接口 集合框架接口 - `Iterable`:支持遍历操作(如`for-each`循环) - `Comparable`:定义对象比较规则(如排序) - `Comparator`:提供独立比较器 - `Function`/`Predicate`/`Consumer`:函数式接口,用于Lambda表达式 输入输出接口 - `java.io.Serializable`:支持对象序列化 - `java.util.Scanner`:用于读取用户输入 - `java.io.Writer`:用于写入数据 工具类接口 - `java.lang.Cloneable`:标记类支持克隆操作 - `java.lang.Math`:提供数学计算方法 三、业务与设计模式接口 数据访问接口(DAO) 定义数据库操作标准方法,实现业务逻辑与数据访问解耦。例如: ```java public interface UserDAO { User getUserById(int id); void updateUser(User user); } ``` 业务逻辑接口 定义核心业务规则,便于维护和扩展。例如: ```java public interface OrderService { void placeOrder(Order order); void cancelOrder(int orderId); } ``` 表示层接口 定义用户界面交互规范,如Web服务接口。例如: ```java public interface UserService { User getUser(String username); void registerUser(User user); } ``` 四、其他常用接口 Comparable: 用于对象排序(如`Arrays.sort()`) Cloneable Serializable:标记类可序列化 Runnable:定义可执行任务(与线程相关) 总结 Java接口是软件设计的核心组成部分,通过定义契约实现模块化与解耦。掌握基础接口类型(普通、函数式、常量)及标准库接口(如集合、IO、工具类),并结合业务场景设计合理接口,是提升代码可维护性和可扩展性的关键。