模块化
概述
基本使用(包的跨模块使用)
介绍
代码演示
首先 要在第一个模块里,创建module-info.java文件,导出一些包,注意是包
之后 在第二个模块中也创建module-info.java文件,这里要依赖模块一导出的包,注意alt+回车 选择模块依赖
之后,就可以在模块二中使用模块一中的包了,注意要导包,如下图import行的内容
模块服务的使用(跨模块接口的实现)
简介
具体代码
首先 在第一个模块的module-info.java文件里 要提供接口服务(使用关键字 provides) 并指定接口的实现类对象
在第二个模块下的module-info.java文件里配置使用服务(用uses关键字),但是不能指定实现类,实现类已经由第一个模块的.java文件指定好了
最后,在第二个模块里要先加载服务,这里利用Java中API里的ServiceLoader类,并调用该类的静态方法Load,构造方法参数是第一个模块里提供的服务(也就是接口名)再加上“.class”
之后实现该服务,可以采用增强for循环来实现,调用Myservice对象的service方法即可实现该服务,也就是实现接口的实例化类