便利构造器是类的次要构造器, 你需要让便利构造器调用同一个类中的指定构造器, 并将这个指定构造器中的参数填上你想要的默认参数....指定构造器必须先向上代理调用父类中的构造器, 然后才能为任意属性赋值.
便利构造器必须先代理调用同一个类中的其他构造器, 然后再为属性赋值....便利构造器会调用子类中的指定构造器, 指定构造器 (子类) 要确保所有的属性都已赋值, 完成所属内存的初始化,
接着会指定构造器 (子类) 会调用父类中的指定构造器, 完成父类属性所属内存的初始化, 直到达到构造器链的最顶部...最终, 任意构造器链中的便利构造器可以有机会定制实例和使用 self
父类中的指定构造器定制实例的属性 (可能).
子类中的指定构造器定制实例的属性....指定构造器必须先向上代理调用父类中的构造器, 然后才能为任意属性赋值.
便利构造器必须先代理调用同一个类中的其他构造器, 然后再为属性赋值.