// 定义一个接口,接口中可以包含方法声明、默认方法和静态方法。
public interface Payment {
// 抽象方法:每个实现类都必须实现这个方法。
void pay(double amount);
// 默认方法:实现类可以选择性地重写这个方法。
default void refund(double amount) {
System.out.println("Refunding: " + amount);
}
// 静态方法:可以直接通过接口名调用,不能被实现类继承。
static void printPaymentInfo() {
System.out.println("This is a payment method.");
}
}
// 实现接口的类
public class CreditCardPayment implements Payment {
@Override
public void pay(double amount) {
System.out.println("Paying with Credit Card: " + amount);
}
// 选择性地重写默认方法
@Override
public void refund(double amount) {
System.out.println("Credit Card Refunding: " + amount);
}
}
// 使用接口
public class Main {
public static void main(String[] args) {
Payment payment = new CreditCardPayment();
payment.pay(100.0); // 输出: Paying with Credit Card: 100.0
payment.refund(50.0); // 输出: Credit Card Refunding: 50.0
Payment.printPaymentInfo(); // 输出: This is a payment method.
}
}
接口定义 (Payment):
pay(double amount),所有实现该接口的类都必须提供具体的实现。refund(double amount),实现类可以选择性地重写它。printPaymentInfo(),可以直接通过接口名调用。实现接口的类 (CreditCardPayment):
Payment 接口中的 pay 方法。refund 方法,提供了特定于信用卡支付的退款逻辑。使用接口 (Main 类):
CreditCardPayment 的实例,并将其赋值给 Payment 类型的变量。pay 和 refund 方法,以及直接调用了接口的静态方法 printPaymentInfo。上一篇:java byte 转16进制
下一篇:java中int类型的取值范围
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站