1、静态属性和静态方法。
1>使用static关键字来实现类级别的变量和函数。
2>静态方法不能访问非静态成员和方法,非静态方法可以访问静态成员和方法。
class Books{
//静态成员变量
static late String bookName;
//非静态成员变量
late int bookNumber;
Books(){
bookName = "猫和老鼠第一版";
bookNumber = 100;
}
//静态方法
static void look(){/*静态方法可以访问静态成员以及调用静态,不可以访问非静态成员和非静态方法 */
print("这是一个静态方法...");
print("静态方法访问静态成员:$bookName");
show();//访问静态方法
}
static void show(){
print("这是一个静态方法...");
}
void printDes(){/*非静态方法可以访问静态成员和非静态成员以及调用静态和非静态方法 */
print("这是一个非静态方法...");
print("非静态方法访问静态属性:$bookName");
print("非静态方法访问非静态属性:${this.bookNumber}册");
look();//调用静态方法
}
}
void main(){
//类的实例来访问非静态方法和属性
Books book1 = new Books();
book1.printDes();
book1.bookNumber;
//直接用类来访问静态方法和属性
Books.look();
Books.bookName;
}
2、Dart中的对象操作符。
/*
? 条件运算符 (存在调用、不存在舍弃)
as 类型转换符
is 类型判断
.. 级联操作(连缀)
*/
class Person{
String name;
int age;
Person(