4
我一直看到引用像下面的示例来_internal:_internal的语义是什么?
class Symbol {
final String name;
static Map<String, Symbol> _cache;
factory Symbol(String name) {
if (_cache == null) {
_cache = {};
}
if (_cache.containsKey(name)) {
return _cache[name];
} else {
final symbol = new Symbol._internal(name);
_cache[name] = symbol;
return symbol;
}
}
Symbol._internal(this.name);
}
我从它的私人访问的构造函数的代码聚集。最后一行Symbol._internal(this.name);
似乎有点令人困惑,因为它似乎是类体内的声明,而不是方法体内的声明,导致我相信它实际上是没有方法体的内部构造函数定义。
我的假设是否正确?
再次感谢拉尔斯。这有很大帮助。还有一些我不完全理解的东西,比如,构造函数可以有一个方法体呢?定义为final的类成员只能在构造函数的参数列表中设置,而不能在构造函数体中设置?这些仍然让我感到困惑。 –