次のような例で _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);
は、メソッド本体内ではなくクラス本体内のステートメントのように見えるため、少し混乱しているように見えます。実際には、メソッド本体のない内部コンストラクター定義であると私は信じています。
私の仮定は正しいですか?