1.类中的静态成员 静态方法
1)使用static 关键字来实现类级别的变量和函数
2)静态方法不能访问非静态成员,非静态方法可以访问静态成员
class Person {
//非静态属性、方法
// String name = '张三';
// void show() {
// print(name);
// }
//非静态属性、方法
static String name = '张三';
static void show() {
print(name);
}
}
main(){
// var p= new Person();
// print(p.name);
// p.show();
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(); } } void main(){ Person p=new Person(); p.printInfo(); //调用非静态方法 Person.printUserInfo(); //调用静态方法 }
2.Dart 中的对象操作符
Dart中的对象操作符:
? 条件运算符 (了解)
as 类型转换
is 类型判断
.. 级联操作 (连缀) (记住)
1)? 条件运算符
class Person { String name; num age; Person(this.name,this.age); void printInfo() { print("${this.name}---${this.age}"); } } void main(){ // Person p; // p?.printInfo(); //如果p位空,则不调用printInfo方法 Person p=new Person('张三', 20); p?.printInfo(); //如果p不为空,则调用printInfo方法 }