提供模块服务接口:
module module.first {
exports first.p1;
// provides first.p1.Shoe
// with first.p2.DoubleStar,first.p2.Warrior;
provides first.p1.Shoe
with first.p1.ShoeFactory;//必须实现public static provider方法
}
使用模块服务接口:
module module.second {
requires module.first;
uses first.p1.Shoe;
}
下面演示访问权限
open module module.first {
//module module.first {
exports first.p1;
//opens first.p1;
}
module module.second {
exports second.p1;
requires transitive module.first;
}
module module.third {
requires module.second;
}