为什么要有构造函数