如果是由其他类扩展的类
class x{
x(){
Type calledByClass = ??
}
}
class y extends x{
y:super();
}
class z extends x{
z:super();
}
使用镜像,是否可以在x的构造函数中获取调用超级构造函数的类型?
例如new z()
会初始化calledByClass
以输入z
请注意,我的超级构造函数不能有参数!
答案 0 :(得分:2)
void main() {
new x();
new y();
new z();
}
class x {
x() {
Type calledByClass = this.runtimeType;
print("calledByClass: $calledByClass");
}
}
class y extends x {
y() : super();
}
class z extends x {
z() : super();
}
输出:
calledByClass: x
calledByClass: y
calledByClass: z
难以确定超类。
例如
for example new z() will initialize superClass to type x