我想创建一个私有变量,但我做不到.

以下是我的代码:

void main() {
  var b = new B();
  b.testB();    
}

class A {
  int _private = 0;

  testA() {
    print('int value: $_private');
    _private = 5;
  }
}

class B extends A {
  String _private;

  testB() {
    _private = 'Hello';
    print('String value: $_private');
    testA();
    print('String value: $_private');
  }
}

当我运行此代码时,我得到以下结果:

String value: Hello
int value: Hello
Breaking on exception: type 'int' is not a subtype of type 'String' of 'value'.

另外,在编辑此源代码时,我没有收到任何错误或警告.

如何在DART中创建私有变量?

推荐答案

来自DART文档:

与Java不同,DART没有关键字public、Protection和private.如果标识符以下划线_开头,则它是其库的私有标识符.

库不仅提供API,而且是一个隐私单元:以下划线_开头的标识符仅在库中可见.

关于图书馆的几句话:

每个DART应用程序都是一个库,即使它不使用库指令.import和library指令可以帮助您创建模块化和可共享的代码库.

您可能听说过part指令,它允许您将一个库拆分为多个DART文件.

Dart相关问答推荐

捕获一个区域中的所有期货

Flutter | Dart:URI的目标不存在

MappedListIterable 不是子类型

Flutter.io (dart) - 如何创建左填充覆盖?

AnimatedContainer 可以为其高度设置动画吗?

如何在组件类中获取 ngForm 变量引用?

在Flutter 中使用 import 'dart:html' - 我需要额外的依赖项吗?

如何左对齐 Flutter 中的 OutlineButton 图标

可选参数的默认值

如何在 Dart 中创建我们自己的metadata元数据?

如何在 Dart 中尚不存在的目录 struct 中创建文件?

带范围的dartswitch

dart中是否有类似struct struct 的东西?

启用空安全时,默认的List构造函数不可用.try 使用列表文字,List.filled或List.generate

Dart 脚本会在浏览器中本地运行吗?

在 Dart 中没有换行符的 print()?

在 Dart 中,bool是否有parse,就像int一样?

如何展平flatten列表?

如何在 Dart 中克​​隆对象(深拷贝)?

如何在 Dart 中将 double 转换为 int?