我有一些类,我需要能够在同一个包中扩展.但我不希望我的包之外的任何人扩展我的课程.其他包中的类需要能够调用我的类,所以我不能使用'default'.
有没有办法(可能通过界面)我能做到这一点?
我通过创建一个具有default可见性的基类来实现这一点,然后使用public final外部类可以调用但不扩展的类来扩展它.例如:
class MyBase {
public void doSomething() { ... }
}
public final class PublicBase extends MyBase { }
class ExtendedBase {
@Override
public void doSomething() { ... }
}
Run Code Online (Sandbox Code Playgroud)