库和知名度

与 Java 不同,Dart 没有关键字 publicprotected 和 private。如果标识符以下划线 _ 开头,则它对其库是私有的。

例如,如果你在单独的库文件(例如,other.dart)中具有类 A,例如:

library other;

class A {
  int _private = 0;

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

然后将其导入你的主应用程序,例如:

import 'other.dart';

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

class B extends A {
  String _private;

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

你得到了预期的输出:

String value: Hello
int value: 0
int value: 5
String value: Hello