kotlin简介

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。

Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。

在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。

idea 使用 kotlin 进行开发示例

1. 环境设置

        <dependency><groupId>org.jetbrains.kotlin</groupId><artifactId>kotlin-stdlib-jdk8</artifactId><version>${kotlin.version}</version></dependency><dependency><groupId>org.jetbrains.kotlin</groupId><artifactId>kotlin-test</artifactId><version>${kotlin.version}</version><scope>test</scope></dependency>
<plugin><groupId>org.jetbrains.kotlin</groupId><artifactId>kotlin-maven-plugin</artifactId><version>1.8.0</version><executions><execution><id>compile</id><goals><goal>compile</goal></goals></execution><execution><id>test-compile</id><goals><goal>test-compile</goal></goals></execution></executions></plugin>

 新建一个 名为 kotlin 的 文件夹,作为 kotlin 代码的目录

在 kotlin 文件下 创建 一个名为 FirstKotlin.kt 的文件

import com.wxj.kotlintest.TempC/*** 定义 主函数*/
fun main(args: Array<String>) {println("Hello, World!")//调用方法helloWorld()
}/*** 定义方法*/
fun helloWorld() {// 创建 对象var tempC = TempC()// 调用对象的方法tempC.hello()
}

上述 定义了 main 方法, 和一个 普通的方法。 main 方法 可以直接用idea 执行。

可以看到,使用的 jdk 来运行的。

定义一个 TempC.kt 文件

 

// 改包 即 文件编译后 所在的 包
package com.wxj.kotlintest/*** 定义类*/
class TempC {fun hello() { print("hello kotlin") }
}

如何在java文件中调用 kotlin的代码? 就当作是 调用 普通的 java 一样。

TempC tempC = new TempC();tempC.hello();

kotlin代码编译成 .class 字节码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/395666.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式软件中状态机的几种操作

嵌入式软件中状态机的几种操作 1、状态机的术语 现态&#xff1a;是指当前所处的状态。 条件&#xff1a;又称为“事件”&#xff0c;当一个条件被满足&#xff0c;将会触发一个动作&#xff0c;或者执行一次状态的迁移。 动作&#xff1a;条件满足后执行的动作。动作执行完…

Animate软件基本概念:遮罩层和引导层

这里简单讲一下Animate软件中关于遮罩层和引导层的基本概念。 FlashASer&#xff1a;AdobeAnimate2021软件零基础入门教程https://zhuanlan.zhihu.com/p/633230084 FlashASer&#xff1a;实用的各种Adobe Animate软件教程https://zhuanlan.zhihu.com/p/675680471 FlashASer&…

Hadoop集群安装配置,spark集群安装配置

前提&#xff1a;准备3台linux服务器&#xff0c;并保证其网络可进行相互通信 假设三台机器IP分别为&#xff1a; 192.168.88.101 192.168.88.102 192.168.88.103一.配置三台服务器之间SSH免密登录,关闭防火墙&#xff0c;时间同步 三台服务器均执行以下1,2,3,4,5,6,8命令 1…

【MongoDB 】MongoDB 介绍及应用,设计到4个案例

MongoDB 介绍概述 基础概念 MongoDB 是非关系型数据库&#xff0c;也就是nosql&#xff0c;存储json数据格式会非常灵活&#xff0c;要比数据库mysql/MariaDB更好&#xff0c;同时也能为mysql/MariaDB分摊一部分的流量压力。 对于经常读写的数据他会存入内存&#xff0c;如此…

视频剪辑SDK,人脸美化与滤镜特效,焕发直播新活力

在数字化浪潮席卷全球的今天&#xff0c;直播已成为连接品牌与消费者、创作者与观众的重要桥梁。为了在激烈的直播竞争中脱颖而出&#xff0c;提供高质量、富有创意的直播内容成为关键。美摄科技&#xff0c;作为视频处理技术的先行者&#xff0c;携手其强大的视频剪辑SDK解决方…

2024年计算机类学术会议有哪些

随着科技的飞速发展&#xff0c;计算机科学与技术领域正以前所未有的速度进步&#xff0c;各类学术会议成为了交流最新研究成果、探讨前沿技术趋势的重要平台。2024年&#xff0c;全球范围内将举办多场计算机类学术会议&#xff0c;这些会议不仅汇聚了顶尖的专家学者&#xff0…

一六三、go多版本安装与切换

如何安装多版本 官方安装方法 参考链接 当已安装某个版本后&#xff0c;执行如下命令 go install golang.org/dl/go1.19.7latest go1.19.7 download执行第一行命令后&#xff0c;会在GOPATH中新增go1.19.7。执行第二行命令后&#xff0c;会在sdk目录下载完整的包。 通过sm…

制造知识普及(十)-- 常见的工业软件介绍

「 1. ERP」 企业资源计划&#xff08;enterprise resource planning&#xff0c;ERP&#xff09;是制造企业的核心管理软件。ERP系统的基本思想是以销定产&#xff0c;协同管控企业的产、供、销、人、财、物等资源&#xff0c;帮助企业按照销售订单&#xff0c;基于产品的制造…

gitlab-runner /var/run/docker.sock connect permission denied

usermod -aG docker gitlab-runner sudo service docker restart参考&#xff1a;https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3492

如何在 Android 手机/平板电脑上恢复误删除的 DCIM 文件夹

DCIM 文件夹是智能手机和平板电脑上最重要的文件夹之一。许多人报告说他们在 Android 设备上遇到了 DCIM 文件夹为空的问题。实际上&#xff0c;这种情况大多数情况下都会发生&#xff0c;当您意外从 Android 设备中删除 DCIM 文件夹或因病毒攻击、应用程序问题和意外格式化等原…

1-5 C语言 - 类型修饰符关键字const和volatile的概念及使用(超详细)

本节重点讲述类型修饰符关键字const和volatile的概念及使用&#xff0c;如果想详细了解关键字的同学点击下方链接进行跳转 1-1 C语言 - 关键字及其使用(数据类型)-CSDN博客 1-2 C语言 - 控制语句关键字-CSDN博客 1-3 C语言 - 控制语句的使用注意事项&#xff08;这些绝对是您…

2024鸿蒙开发【面试题库】,转岗看这一篇就够了

鸿蒙面试浪潮来袭&#xff0c;你是否也想着利用这次机会去实现&#xff0c;跳槽涨薪的梦呢&#xff1f; 如果关注了华为鸿蒙的人应该知道&#xff1a;鸿蒙开发岗位需求飙升6倍&#xff01; 可想而知该岗位前景多么广阔&#xff0c;为此就为大家整理些&#xff08;鸿蒙HarmonyO…

springboot社区旧物回收系统-计算机毕业设计源码94813

目 录 摘要 1 绪论 1.1 研究背景 1.2研究意义 1.3论文结构与章节安排 2 社区旧物回收系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据流程 3.3.2 业务流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 社…

SQL面试题练习 —— 计算用户首单是即时单的比例

目录 1 题目2 建表语句3 题解 题目来源&#xff1a;美团。 1 题目 在外卖订单中&#xff0c;有时用户会指定订单的配送时间。现定义&#xff1a;如果用户下单日期与期望配送日期相同则认为是即时单&#xff0c;如果用户下单日期与期望配送时间不同则是预约单。每个用户下单时间…

gogs的安装和使用(docker)

1.docker安装gogs 1.1 拉取gogs镜像 docker pull gogs/gogs #也可改为自己需要的版本号 1.2 创建存储目录 mkdir /root/gogs 1.3 运行镜像 docker run --namegogs -d -p 10022:22 -p 13000:3000 -v /root/gogs:/data gogs/gogs 1.3.1 指令解析 --namegogs: 指定名称…

文章复现 创新点 代码改进跑通 深度学习

文章复现 创新点 代码改进跑通 深度学习 SCI代码复现 文章复现 数据处理、数据分析、算法、数据结构data structure、机器学习machine learning、深度学习deep learning。创新改进&#xff0c;算法提升 python环境配置 &#xff0c;深度学习代码调试 、代码复现&#xff0c;py…

数据库优化

文章目录 一、如何定位慢查询二、分析慢SQL&#xff08;一&#xff09;Explain 三、索引介绍&#xff08;一&#xff09;数据结构1、二叉树2、红黑树3、B树4、B 树 &#xff08;二&#xff09;聚集索引&二级索引&#xff08;三&#xff09;索引的创建原则&#xff08;四&am…

ElementUI元件库在Axure中使用

一、ElementUI元件库介绍 ElementUI 是一套为开发者、UI/UX设计师和产品经理准备的基于Vue 2.0的桌面端组件库。它以其优雅的设计和丰富的组件&#xff0c;极大地提升了Web应用的开发效率与用户体验。ElementUI的组件设计精致且符合现代UI规范&#xff0c;包括按钮、表单、弹窗…

指针(一)

指针变量&#xff1a;用来存放地址的变量。 这里讲一下为什么两位为一个字节&#xff1a;首先这是一个十六进制的地址&#xff0c;再十六进制中的F&#xff08;15&#xff09;用二进制表示是需要四位&#xff08;1111&#xff09;&#xff0c;所以一位代表四个bit&#xff0c;两…

JavaEE 第7节 线程饥饿及其解决办法

目录 一、什么是线程饥饿&#xff1f; 二、线程饥饿的解决办法 *wait()与notify()方法解决线程饥饿 1、wait(等待) 2、notify(通知) 1&#xff09;notify 2&#xff09;notifyAll 3&#xff09;关于wait方法的一些补充 1、wait的方法的三个功能是原子性的&#xff1a;…