Kotlin基础-入门-关键字 const

最近闲着没事,索性研究下路由(ARouter,还有其他的,这这是阿里的路由库)和组件化,顺便再整理组件化项目的时候来玩下 Kotlin,虽然在2016年研究过 Kotlin,但是也挡不住两年没有用过啊,正好闲着,顺便研究下。

好了,进入今天的正题,const 这个关键字到底有啥用,用过或者听过 Kotlin 的或多或少的都知道在 Kotlin 中,static 关键字被取消了,已经没有了静态方法和静态变量的说法了,那么如果我们使用该怎么用呢?当然这些可以自行百度,这里就不过多介绍了。下面我们来命名一个变量,代码如下:

val MainStartActivity = "/main/StartActivity"

这只是一个对象,而如果我们想在其他的类里边使用,而又不想实例化这个类,我们就会想到静态变量了,但是 Kotlin 取消了 static 关键字,我们又该怎么写呢?代码如下:

const val MainStartActivity = "/main/StartActivity"

而用起来就很方便了,

var path = MainStartActivity

有人就会说了,你这不对呀,应该是类名.对象啊,这就是 Koutlin 魅力之一,它已经帮我们找到了我们的对象,或许说它已经帮我们找到了我们需要的类更准确些,Kotlin 已经自动完成了导包。

import com.example.kotlin.lib_common.tools.MainStartActivity

我们已经注意到了,在变量前边我们加了一个 const 关键字就来进行修饰,为什么要这样写呢?我们来看下编译之后的 Java 代码:

val MainStartActivity = "/main/StartActivity"

//对应的 Java 代码

public final class ActivityPathToolKt {
   @NotNull
   private static final String MainStartActivity = "/main/StartActivity";

   @NotNull
   public static final String getMainStartActivity() {
      return MainStartActivity;
   }
}

我们可以发现,这里是一个私有的静态变量,而下边是一个 public 的静态方法,而这样写,我们如果想使用,只能调用get 方法了,我们再来看下被 const 修饰的对象,代码如下:

const val MainStartActivity = "/main/StartActivity"

//对应的 Java 代码如下:

public final class ActivityPathToolKt {
   @NotNull
   public static final String MainStartActivity = "/main/StartActivity";
}

我们发现,被 const 修饰过后,对象竟变成了 public 的静态变量,到这里,大家应该已经明白了,const的 这个关键字的用处了吧。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值