多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] 使用static关键字实现类范围的变量和方法。 ## 静态变量 静态变量(类变量)对于类范围内的状态和常量是有用的: ~~~ class Queue { static const initialCapacity = 16; // ··· } void main() { assert(Queue.initialCapacity == 16); } ~~~ 静态变量在使用之前不会初始化。 >注意:此页面遵循代码样式规范,对常量名使用小驼峰命名法。 > ## 静态方法 静态方法(类方法)不对实例进行操作,因此无法访问该实例。例如: ~~~ import 'dart:math'; class Point { num x, y; Point(this.x, this.y); static num distanceBetween(Point a, Point b) { var dx = a.x - b.x; var dy = a.y - b.y; return sqrt(dx * dx + dy * dy); } } void main() { var a = Point(2, 2); var b = Point(4, 4); var distance = Point.distanceBetween(a, b); assert(2.8 < distance && distance < 2.9); print(distance); } ~~~ >注意:对于通用或广泛使用的实用程序和功能,考虑使用顶级函数,而不是静态方法。 > 可以使用静态方法作为编译时常量。例如,可以将静态方法作为参数传递给常量构造函数。