如许读起来是不是加倍轻易懂得呢。
- //这是定义
- object AppSettings {
- fun updateConfig() {
- //do some updating work
- }
- }
关于应用也很简单
- //在Kotlin文件中调用
- AppSettings.updateConfig()
- //在Java文件中调用
- AppSettings.INSTANCE.updateConfig();
履行完成后,查看生成的class文件
我们先看一下AppSettings的字节码文件
Lambda表达式研究
除此之外,Kotlin也是支撑了Lambda表达式的。因为并非所有的JVM版本都支撑invokedynamic(Lambda表达式依附的字节码指令),比如Java 6的JVM,这个中就包含了很多安卓设备。所以我们困惑Kotlin可能是像Scala那样将lambda表达式转换成了匿名内部类。
一个简单的Lambda表达式例子
- class Test {
- fun testObservable() {
- val observable = Observable()
- observable.addObserver { o, arg ->
- System.out.println("$o $arg")
- }
- }
- }
这里我们回到Object类型,照样再举个例子看看若何应用
我们应用插件同样查看bytecode
- // ================Test.class =================
- // class version 50.0 (50)
- // access flags 0x31
- public final class Test {
- // access flags 0x11
- public final testObservable()V
- L0
- LINENUMBER 8 L0
- NEW java/util/Observable
- DUP
- INVOKESPECIAL java/util/Observable.<init> ()V
- ASTORE 1
- L1
- LINENUMBER 9 L1
- ALOAD 1
- GETSTATIC Test$testObservable$1.INSTANCE : LTest$testObservable$1; //这里就是应用了匿名内部类(经常包含$字符)
推荐阅读
是以,它会让人想起残差前馈收集(residual feed-forward network),但在实际中,强迫这些收集向前传播误差并不克不及让它们在更高财揭捉?习到有效的层次表征。是以,它们不克不及基于更>>>详细阅读
本文标题:研究学习Kotlin的一些方法
地址:http://www.17bianji.com/lsqh/35131.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示