比如:
原本子类在service/impl包下
父类在service包下。
而密封类限制父类和子类只能在一个包下,
那么密封类不能用于这样的模式了?
比如:
原本子类在service/impl包下
父类在service包下。
而密封类限制父类和子类只能在一个包下,
那么密封类不能用于这样的模式了?
看了一下楼上的,试了一下,创建一个module-info.java,就可以跨包
service 和 impl 这种包很有可能会暴露出去给人实现, 就比如dubbo这种框架,service 和 impl 在不同的地方,就更不推荐你用sealed
这种关键字去搞限制
个人理解, 欢迎大佬纠正: sealed
这种更像是枚举的扩展玩法, 因为他锁定了一个接口或者抽象类 or 类只有 有限的 final 子类, 子类可以提供不同的构造器或者方法去实现自己
8 回答6.4k 阅读
1 回答4.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
并不一定非得在同一个包下。
Java 规范原文:
注意加粗部分。