Flutter学习笔记_Dart:Dart类的静态成员和对象操作符

**

1.Dart 类中的静态成员 静态方法

**

Dart中的静态成员:
1、使用static 关键字来实现类级别的变量和函数
2、静态方法不能访问非静态成员,非静态方法可以访问静态成员


// class Person {
    
    
//   static String name = '张三';
//   static void show() {
    
    
//     print(name);
//   }
// }

// main(){
    
    
//   print(Person.name);
//   Person.show();  
// }






class Person {
    
    
  static String name = '张三';
  int age=20;  
  static void show() {
    
    
    print(name);
  }
  void printInfo(){
    
      /*非静态方法可以访问静态成员以及非静态成员*/
      // print(name);  //访问静态属性
      // print(this.age);  //访问非静态属性
      show();   //调用静态方法
      
  }
  static void printUserInfo(){
    
    //静态方法
        print(name);   //静态属性
        show();        //静态方法

        //print(this.age);     //静态方法没法访问非静态的属性
        // this.printInfo();   //静态方法没法访问非静态的方法
        // printInfo();

  }

}

main(){
    
    
  // print(Person.name);
  // Person.show(); 


  // Person p=new Person();
  // p.printInfo(); 


  Person.printUserInfo();
}

2.Dart 中的对象操作符

Dart中的对象操作符:
? 条件运算符
as 类型转换
is 类型判断
… 级联操作 (连缀)


class Person {
    
    
  String name;
  num age;
  Person(this.name, this.age);
  void printInfo() {
    
    
    print("${this.name}---${this.age}");
  }
}

main() {
    
    
  // Person p;
  // p?.printInfo();   //已被最新的dart废弃 了解

  //  Person p=new Person('张三', 20);
  //  p?.printInfo();   //已被最新的dart废弃 了解



  // Person p=new Person('张三', 20);
  // if(p is Person){
    
    
  //     p.name="李四";
  // }
  // p.printInfo();
  // print(p is Object);



  // var p1;

  // p1='';

  // p1=new Person('张三1', 20);

  // // p1.printInfo();
  // (p1 as Person).printInfo();




  //  Person p1=new Person('张三1', 20);

  //  p1.printInfo();

  //  p1.name='张三222';
  //  p1.age=40;
  //  p1.printInfo();




  // Person p1 = new Person('张三1', 20);
  // p1.printInfo();
  // p1
  //   ..name = "李四"
  //   ..age = 30
  //   ..printInfo();
}

猜你喜欢

转载自blog.csdn.net/weixin_46136019/article/details/128879553