JavaSE基础知识(十九)--Java接口之适配接口

本文探讨了Java接口的灵活性,尤其是作为策略模式的应用。通过接口,开发者可以规定方法接受特定类型的参数,而实现接口的类可以提供不同实现。以Java Scanner类为例,其构造方法接受Readable接口,允许任何实现该接口的类与Scanner配合。通过实现Readable接口,任何类都能被Scanner读取。这种接口适配方式增强了代码的通用性和可复用性。
摘要由CSDN通过智能技术生成

Java SE 是什么,包括哪些内容(十九)?

本文内容参考自Java8标准
再次感谢Java编程思想对本文的启发!
接口最吸引人的原因之一就是允许同一个接口具有多个不同的实现(就是每个实现接口的类都可以给这个接口的所有方法以不同的实现,而不用去修改主体框架的代码),在简单的情况中,它的体现形式通常是只规定一个接受接口类型的方法(public void f(xxx接口类型 s)),而该接口的实现和向该方法传递的实际对象类型则取决于方法的使用者。
因此,接口的一种常见用法就是"策略模式",此时你编写一个执行某些操作的方法,而该方法将接受一个同样是你指定的接口类型,其实,你这就是声明了:“你可以用任何你想要的对象来调用我的方法,只要你实现我规定的接口类型”,这使得你的方法更加灵活、通用、并更具可复用性。
举例:
Java SE5的类Scanner的构造方法接受的就是一个Readable接口,你会发现Readable接口没有用作Java标准类库中其他任何方法的参数,它是单独为类Scanner创建的,以使得类Scanner不必将其形式参数限制为某个特定的类。通过这种方式,Scanner可以作用于更多的类型。如果你创建了一个新的类,并且想让Scanner可以作用于它,那么你就应该让这个类实现接口Readable。

源码截图示例(Scanner构造方法中接受接口Readable类型的参数):
构造方法一:
接口Readable类型参数
构造方法二:
接口Readable类型参数
Java API文档截图:
在这里插入图片描述
Readable代表的是指定的源,假设你有一个类,代表了文件或者是字符串或者其他的源等等,你就可以让这个类实现接口Readable,然后类Scanner就能作用你这个源,你就可以使用它提供了多种方法。
代码示例:

// 适配接口
   //类RandomWords实现接口Readable
   public class RandomWords implements Readable{
   
      //创建随机类Random的对象
      private static Random rand = new Random(43);
      //static final的char数组类型capitals
      //方法toCharArray()是类String的方法
      //作用是将字符串转换为字符数组
      //这里将字符串"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
      //转换为了字符数组
      private static final char[] capitals = 
      "ABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
      //同上
      private static final char[] lowers = 
      "abcdefghijklmnopqrstuvwxyz".toCharArray();
      //同上
      private static final char[] vowels = 
      "aeiou".toCharArray()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值