项目project->模块module->包packet->java文件
不同模块之间类的引入
要将myOne模块中的Student类在myTwo模块中进行使用:
①需要在myOne模块中新建module-info.java,在里面写入
②在myTwo模块中新建module-info.java,在里面写入
③在test中引入
模块服务的使用
Java 9的模块化系统则进-步的简化 了Java的服务机制。Java 9允许将服务接口定义在一个模块中,并使用uses语句来声明该服务接口,然后针对该服务接口提供不同的服务实现类,这些服务实现类可以分布在不同的模块中,服务实现模块则使用provides语句为服务接C指定实现类服务使用者只需要面向接口编程即可。
上一节介绍的是Java类class文件的模块化使用,即使有exports导出,require接收。当需要使用的时候再在某个包中import这个接受到的类即可。
这一节介绍的是接口实现类的模块化使用,导出A接口的X实现类使用provides A with X,接收一个接口A使用uses A。当需要使用的时候,就再使用serviceLoader加载并使用服务。
输出结果:
如果更改provides MyService with Itheima为provides Myservice with czxy;
则输出会变成czxy的内容,即"上大学,来传智学院,一所不一样的大学,收获不一样的你"