为什么有人会声明构造函数受保护?我知道构造函数被声明为私有,目的是不允许它们在堆栈上创建。
当一个类是(旨在作为)抽象类时,受保护的构造函数是完全正确的。在这种情况下,您不希望从类实例化对象,而只想使用它来继承。
还有其他用例,例如某些构造参数集应仅限于派生类。