Java编程思想第四版读书笔记——第九章 接口

本书《Java编程思想》的第九章详细探讨了接口在Java中的应用,包括适配器设计模式和策略设计模式的讲解。通过阅读,读者可以深入理解这两种设计模式如何与接口相结合,提升代码的灵活性和可维护性。
摘要由CSDN通过智能技术生成

这章介绍了适配器设计模式和策略设计模式。

第九章  接口


接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。

1、抽象类和抽象方法

public abstract void f();
创建抽象类是希望通过这个通用接口操纵一系列类。如果一个类包含大于等于一个抽象方法,那么这个类就是抽象类,必须用abstract关键字来限定这个抽象类。
如果试图直接创建该抽象类的对象,编译器会报错。
如果抽象类的子类没有为基类的抽象方法提供定义,那么这个导出类依旧是抽象类。
抽象类也可以不包含任何抽象方法,单纯的用abstract限定类。(该类不能产生对象)

2、接口
interface这个关键字替代class关键字,产生了一个完全抽象的类。接口只提供形式,未提供任何具体实现。
接口被用了建立类与类之间的协议。接口也可以包含域,但是 这些域隐式的是static和final的。因此,其中定义的成员变量,是static&final的。
implenments关键字可以跟一组接口,extends关键字只能跟一个基类。
接口中的方法必须是public的,隐式的被声明public的,如果要显示声明,它们也必须被声明为public的。否则在继承的过程中,可访问权限被降低,这是java编译器所不允许的。

3、完全解耦
策略设计模式:创建一个能够根据传递参数对象不同而具有不同行为的方法。比如:
package interfaces.classprocessor;
import java.util.*;
import static net.mindview.util.Print.*;
class Processor {
public String name() {
return getClass().getSimpleName();
}
Object process(Object input) { return input; }
}
class Upcase extends Processor {
String process(Object input) { // Covariant return
return ((String)input).toUpperCase();
}
}
class Downcase extends Processor {
String process(Object input) {
return ((String)input).toLowerCase();
}
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值