面向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入门教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fundroid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值