美文网首页
Dart中final、const、static使用

Dart中final、const、static使用

作者: xmb | 来源:发表于2019-04-30 17:09 被阅读0次
// 类外面
const nameOut = "name_out"; // 不可变
final nameOut2 = "name_out2"; // 必须进行初始化,不可变
// static const nameOut3 = "name_out3"; 错误用法,static不能用在类外面
var nameOut3;

class TestClass {
  /*
* static 标识一个成员属于类而不是对象
* final 必须初始化,初始化后值不可变,编译时不能确定值
* const 编译时可确定,并且不能修改
* */

  final name; // 需要在构造方法里初始化
  static const name2 = 'name2'; // 只有静态变量才能被定义为const
  final name3 = 'name3'; // 定义时初始化
  var name4;

  TestClass(this.name, this.name4);

  void test() {
    const name5 = "name5"; // 不可变
    var name6 = "name6"; // 可变
    final name7 = "name7"; // 不可变
//    static 不可用在方法里
//    static final name8 = "name8";

//    name5 = "name"; // 不可更改
    name6 = "name";
//    name7 = "name"; // 不可更改

    print("测试:$name5, $name6, $name7");
  }
}

// 如果累提供一个状态不变的对象,可以使用常量构造函数
class Test2Class {
  final name1;
  final name2;

  // 默认构造函数不能和常量构造函数同时定义
//  Test2Class(this.name1, this.name2);
  const Test2Class(this.name1, this.name2);

相关文章

网友评论

      本文标题:Dart中final、const、static使用

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