美文网首页
发现Dart私有变量作用域范围和Kotlin的不同

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

作者: o动感超人o | 来源:发表于2018-12-13 22:57 被阅读35次

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

相关文章

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

    首先为什么和Kotlin比较是因为Dart和Kotlin都可以在一个File中创建多个同级类,而Java不可以然后...

  • 作用域链,原型链,面向对象的理解

    作用域链: 函数执行会形成一个私有的作用域,形成和当前私有作用域中声明的变量都是私有变量,当前私有作用域有自我保护...

  • 16-修饰符和预处理指令-指趣学院

    全局变量和局部变量 变量作用域基本概念变量作用域:变量的可用范围按照作用域的不同,变量可以分为:局部变量和全局变量...

  • 计算机科学与编程导论 4章节 函数

    一.局部变量和全局变量 程序变量中使用的范围不同:作用域就是变量的有效范围。变量的作用域取决于变量的访问性。 局...

  • 变量

    变量起作用的范围称为变量的作用域,一个变量在函数外部定义和在函数内部定义,其作用域是不同的。不同作用域内变量名可以...

  • js笔记之作用域

    1. 如何区分全局作用域和私有作用域? 在全局作用域下声明(预解释的时候)的变量是全局变量 在私有作用域中声明的变...

  • 作用域链跟原型链

    作用域链: 函数执行会形成一个私有的作用域,形参和在当前私有作用域中声明的变量都是私有变量,当前的私有作用域有自我...

  • 关于JavaScript的作用域链

    1.什么是作用域?   作用域就是变量与函数的可访问范围,JavaScript的变量作用域有两个范围,全局作用域和...

  • JavaScript函数之作用域

    在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。根据访问范围的不同,作用域可分为全局作用域和...

  • javascript的预解释-作用域-内存的释放

    作用域链:当函数被调用的时候,会形成一个私有作用域,看私有作用域中,是否存在私有变量A:1)如果有私有变量A:那么...

网友评论

      本文标题:发现Dart私有变量作用域范围和Kotlin的不同

      本文链接:https://www.haomeiwen.com/subject/yqmihqtx.html