发现Dart私有变量作用域范围和Kotlin的不同

2018-12-13  本文已影响35人  o动感超人o

首先为什么和Kotlin比较是因为Dart和Kotlin都可以在一个File中创建多个同级类,而Java不可以
然后这个现象是在Dart中的同级类里比如下面的代码

//test.dart
class Bicycle {
  Bicycle(this.cadence, this.gear);
  int cadence;
  int _speed = 0;
  int gear;
}
class Test{
  void main() {
    final bike = Bicycle(2, 1);
    print(bike._speed);
  }
}

因为在同一个File中,所以Test类能访问到Bicycle中的私有变量_speed

而如果不在同一个File中,比如下面

//test2.dart
import 'test.dart';

void main() {
  final bike = Bicycle(2, 1);
  print(bike._speed);//编译报错
}

如果不在同一个File中,是编译不通过的

上一篇 下一篇

猜你喜欢

热点阅读