这是 Dart 构造函数吗? [复制]
Posted
技术标签:
【中文标题】这是 Dart 构造函数吗? [复制]【英文标题】:Is this a Dart Constructor? [duplicate] 【发布时间】:2022-01-09 23:46:00 【问题描述】:我还在习惯 Dart 并且我已经搜索过这个问题的答案,但我还没有找到答案。类定义的第二行“ClassA._();”有什么作用?列表声明只是为了给类一个存在的理由。
class ClassA
ClassA._();
static final List<String> someList = ["A", "B", "C"];
如果它是一个构造函数,它将如何被调用? 在做了更多的调查之后,我看到它创建了一个单例。但是单例是什么时候创建的呢?有没有办法在实例化之前制作一些模组?
提前感谢您提供的任何帮助。
【问题讨论】:
【参考方案1】:ClassA._();
是一个名为_
的命名构造函数。在飞镖中,identifiers that start with underscore (_) are only visible inside the library it is contained in。
您以这种方式定义一个类的原因是您想阻止人们创建该类的实例。
【讨论】:
mmcdon20,谢谢您的回复。这就说得通了。语法很简洁。 Dart 没有像private
或 protected
这样的关键字,而是在标识符中使用前导下划线来控制可见性。与其他语言相比,它有点不寻常,因此在阅读 dart 代码时要牢记这一点。以上是关于这是 Dart 构造函数吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章