首先为什么和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中,是编译不通过的
网友评论