面向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快速入门静态变量枚举的主要内容,如果未能解决你的问题,请参考以下文章

荐书 | Kotlin开发快速入门与实战

Flutter入门-Dart面向对象原理

Kotlin快速入门与实战,这五本书就够了

kotlin入门(3)-数组

Kotlin快速入门基础

Kotlin的互操作——Kotlin与Java互相调用