因为抽象类型似乎表明从技术上讲,公共构造函数将在很大程度上受到保护
这是不正确的。抽象类不能通过调用其构造函数直接实例化,但是,任何具体实现 都将继承抽象类的方法和可见性
因此,抽象类当然可以具有公共构造函数。
实际上,只能从实现的构造函数中调用抽象类的构造函数,因此在公开还是受保护之间没有区别。例如:
public class Scratch{ public static abstract class A { public A( int i ) {} } public static class B extends A { private B() { super(0); }; }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)