1.所谓类的指定构造函数就是一般的构造函数,使用init来定义。
2.便利构造函数(convenience)
使用convenience关键字在init之前,创造的构造函数称为便利构造函数。
3.规则:
1.)指定构造函数必须调用其直接父类的指定构造函数;
即:在创建子类指定构造函数时,其中,必须包含对直接父类中的指定构造函数的调用—super。init(参数列表)
2)便利构造函数必须调用同一类中定义的其他构造函数
3)便利构造函数必须最终以调用一个指定构造函数结束。
解释:指定构造函数必须包含对上面的(父类的指定构造函数)调用;
便利构造函数必须总是横向调用(只能调用当前所在类中的其他构造函数)。
如果便利构造函数本身没有调用指定构造函数,而是调用了其他的便利构造函数,那该该便利构造函数必须以指定构造函数结束。