The problem here is conceptual. Interfaces are intended to be expanded because they cannot be used as is.
What you can do is put the interface inside the package and give it the default visibility. However, only classes inside this package can implement this interface.
But with this solution, you also lose the ability to use the interface outside of this package, so it is not a real solution.
Johannes Wachter
source share