构造函数重载和工厂方法