Dart 的私有成员被暴露
Dart's private members being exposed
我不确定是不是出了什么问题,或者我是否漏掉了一些非常基础的东西。
但是我能够在 class.
之外访问 class 的私有构造函数、方法和成员
class A {
static final _a = 1;
}
void main() {
print(A._a);
}
输出:
1
飞镖版本:
Dart VM version: 2.8.4 (stable) (Unknown timestamp) on "linux_x64"
测试截图:
来自文档:
identifiers that start with an underscore (_) are visible only inside the library. Every Dart app is a library, even if it doesn’t use a library directive.
私有意味着它在写入它的文件中可用,其他文件无法访问。所以这不是真正的私人。您可以阅读更多相关信息 here。
我不确定是不是出了什么问题,或者我是否漏掉了一些非常基础的东西。 但是我能够在 class.
之外访问 class 的私有构造函数、方法和成员class A {
static final _a = 1;
}
void main() {
print(A._a);
}
输出:
1
飞镖版本:
Dart VM version: 2.8.4 (stable) (Unknown timestamp) on "linux_x64"
测试截图:
来自文档:
identifiers that start with an underscore (_) are visible only inside the library. Every Dart app is a library, even if it doesn’t use a library directive.
私有意味着它在写入它的文件中可用,其他文件无法访问。所以这不是真正的私人。您可以阅读更多相关信息 here。