apply 函数是一种所谓的智能构造函数。它是 Scala 中创建数据类型新实例最流行的方式。它比标准构造函数更灵活,因为它允许在决定是否应该创建实例之前运行某些逻辑,并且如果需要,它可以创建特定子类型的实例,同时将其作为超类型的实例返回。