ADM-201 dump PMP dumps pdf SSCP exam materials CBAP exam sample questions

#6 Kotlin教程 | Kotlin结合Java – 译学馆
未登陆,请登陆后再发表信息
最新评论 (0)
播放视频

#6 Kotlin教程 | Kotlin结合Java

#6 Kotlin Tutorial | Kotlin Java together

在第一集视频中我就提到过 Java和Kotlin之间有互操作性
这表示 可以在Kotlin代码中调用Java 也可以在Java代码中调用Kotlin
但是这真的可以实现吗?
我们以前从来没见过类似的
事实上 不知道你们是否知道这个概念
你可以在Java代码里调用C的函数
也可以在C的代码中调用Java函数
但是 这些必须借助两种语言间的接口 称为JNI
即Java本地接口
所以 如果我们同时使用不同语言 则必须利用某些中间层
那么 Kotlin和Java之间呢?也必须使用中间层吗?
事实上 不需要
它们之间可以直接调用
为了解释清楚 我把这段代码都删掉
我们先不要管Alien类
我要创建一个新的类
首先 我要删除这个类 因为我不再需要这个Alien类了
我会用Java代码创建一个同样的类
那么 删除这个文件
点击这里 删除
好了 Alien类被删除了
现在 我要创建Java代码
点击”New”
虽然这是Kotlin项目 但是却有Java选项
点击”Java Class”
创建一个名字为”Alien”的类
点击”OK”
如果你知道Java 那么就知道我们在这里创建了一个类
在这个类中 我要创建一个变量
同样的 作为例子 我只要一个变量
这里我要的是一个私有变量
“private String name” 这就是我要的变量
一旦变量被创建 我们就需要给出getter和setter 因为Java就是这个套路
点击右键
点击”Generate”
在哪里?呃…… 在这儿
生成这个变量的getter和setter
完成
好了 我们有了getter和setter
现在的问题是
这是Kotlin代码 左边这个文件是Kotlin代码
而右边的文件则是Java代码
从后缀名也可以看出来 这是”.java” 这是”.kt”
那么 我们能否在这里创建Alien类的一个对象呢?
答案是 可以
怎么做呢?
就像你创建Kotlin类的对象一样
直接用”var”
这次用另一个名字”navin”
呃 用昵称”telusko”吧
然后 “=Alien()”
好了 对象创建好了
Java和Kotlin的互操作就是这么简单
现在 有了对象 可以给它赋值吗?
可以吗?
在Java里 如果要给”name”赋值
只能用getter和setter
你只能用setName来设置这个值 用getName来获得这个值
举个例子
使用”telusko.setName” 设置名字为”navin”
使用”telusko.getName” 来得到”navin”
但是在Kotlin里
你只需要”telusko.”
不需要getName或者setName 只用name就可以了
如果你用”name=” 那表示你要赋值 于是setName函数会默认被调用
我们试一下
这确实很棒 这里赋值为”Navin”
赋值完成
我们来确认一下 如何确认呢?
直接用”println”
然后打印这个值
如何得到这个值呢?可以用”telusko”
“.” 点在哪儿?在这儿
“name” 这样就得到名字了
让我们运行代码 来确认一下
运行 好了 我们可以看到输出是”Navin”
这表明我们可以直接用等号来赋值
并且直接获取这个值
不需要setter和getter
因为Kotlin会在后端帮你完成那些
这就是Kotlin的过人之处
你可能很想知道在幕后到底发生了什么?
你要编译这些代码 所有这些文件都要被编译
然后它们都会在你的项目中
Java会得到class文件
Kotlin呢?
Kotlin也会得到class文件 因为它是在Java平台上运行的
我们来确认一下
这里有src文件夹
在src里 有Java文件”Alien.java”
还有”FirstCode.kt”
这是Kotlin代码
如果打开文件夹”out”
点开”Demo” 你可以看到class文件
对于”Alien” 有class文件
对于”FirstCode” 也有class文件
提醒一句 这是从Kotlin代码得到的 所以是”FirstCodeKt”
所以 最终 所有代码都转化为字节码
从而在JVM上运行
这就可以证明你的代码都是运行在JVM上
这就是如何赋值……
如何将Kotlin和Java结合在一起
好了 本集讨论了Kotlin和Java的互操作性
并利用getter和setter
下集将讨论其他的话题
请订阅并且点赞

发表评论

译制信息
视频概述

本集讨论了Kotlin和Java的互操作性,并举例介绍了如何在Kotlin项目中调用Java代码

听录译者

收集自网络

翻译译者

豆子

审核员

审核团1024

视频来源

https://www.youtube.com/watch?v=e-gZc-mZqE8

相关推荐