您可以在抽象类中使用带有参数的构造函数(如果要禁止匿名子类,请将其保护)。
public abstract class Points{ protected Points(Something parameter){ // do something with parameter }}这样做会强制实现类具有显式构造函数,因为它必须使用一个参数来调用超级构造函数。
但是,您不能强制覆盖的类具有带有参数的构造函数。它总是可以伪造这样的参数:
public class ExtendPoints extends Points{ public ExtendPoints(){ super(something); }}


