为什么我们在java中有受保护的访问说明符?

sal*_*ani 1 java oop protected

受保护是首选但不公开的示例情况是什么?有人可以用例子详细说明吗?我已经看过公共,私人和受保护的聊天(见这里).

Jef*_*rey 6

主要用途protected是子类重写一个方法,该方法提供一些您不希望暴露给外部类的内部细节.考虑像一个类

class BaseAlgorithm {
     run() {
        commonStepOne();
        subclassSpecificStepTwo();
     }

     protected abstract subclassSpecificStepTwo();
}
Run Code Online (Sandbox Code Playgroud)

没有人应该打电话subclassSpecificStepTwo,所以将它公开是没有意义的.