为什么无法通过实例访问静态字段

时间:2019-08-20 21:39:20

标签: flutter dart

为什么不能通过实例访问“静态”字段。 Dart 2.4 Flutter 1.7 Android Studio 3.4

当我尝试将代码从JAVA移植到Flutter(Dart)时,出现了编译错误

我在MyMainBloc中定义了如下变量

static LoginStatus loginStatus = null;

然后我创建一个实例:

MyMainBloc myApp;

我希望使用类似这样的东西:myApp.loginStatus,而不是MyMainBloc.loginStatus。

1 个答案:

答案 0 :(得分:1)

特定类的静态成员是在类级别而不是对象级别访问的。这基本上意味着静态变量在对象之间共享。

考虑到这一点,您可能尝试做的可能不是最好的主意。在不看更多代码的情况下,最好将您的loginStatus属性声明为封装类的私有成员,然后通过一种方法(也许是标准的get *()方法)访问该成员。

这里的班级成员Oracle documentation可能会有帮助。