面向Kotlin与Java开发者的Dart快速入门静态变量枚举
Posted fundroid_方卓
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向Kotlin与Java开发者的Dart快速入门静态变量枚举相关的知识,希望对你有一定的参考价值。
静态变量、方法
静态变量、方法的定义与使用与Java中完全相同,同样使用static
关键字,同样不用通过实例调用。
如果是一个广泛使用的静态方法,建议使用top-level方法替代静态方法,我们在Kotlin的编码规范中往往也是这样要求的。
一个疑问
Dart2官方有以下一段文字
You can use static methods as compile-time constants. For example, you
can pass a static method as a parameter to a constant constructor.
可以将静态方法当做编译期常量对待,甚至可以作为参数传给常量构造函数
。
其实我不太理解这段文字,如果可以当做编译期常量的话,下面代码应该work,但实际上会error
class Math
static int plus(x, y) => x + y;
const sum = Math.plus(1,2); //Error: Method invocation is not a constant expression.
哪位大佬能答疑解惑的欢迎留言~
枚举类
与Java的enum
基本一样。
- enum中的item会被分配index,index从0开始按照被声明的顺序递增
enum Color red, green, blue
assert(Color.green.index == 1);
- enum可以用在switch-case中
- enum不能被
extends
或者mixin
、枚举不能创建实例,这与Java类似 - enum不允许被是实现,这与Java不同
返回首页:Dart入门教程
以上是关于面向Kotlin与Java开发者的Dart快速入门静态变量枚举的主要内容,如果未能解决你的问题,请参考以下文章