Java最终类中受保护方法的用例是什么?

考虑以下来自官方java.awt.font.TextLayout OpenJDK source的代码:

public final class TextLayout {

    /* ... */

    protected void handleJustify(float justificationWidth) {
      // never called
    }
}

这里的用例是什么,为什么通常编写这样的代码为什么有意义?

最佳答案
仍然可以通过同一包中的代码访问受保护的成员.我的猜测是,该类在某些早期版本(可能甚至不是公共版本)中曾经是非最终的,然后被设置为最终的,并且受保护的方法保持原样,因为在使用它的同一包中可能有代码(而不是之所以将其更改为私有包,仅仅是因为没有人看到这样做的好处.

转载注明原文:Java最终类中受保护方法的用例是什么? - 代码日志