示例代码
android kotlin工程
class MainActivity : AppCompatActivity() {
private SerialPort mSerialPort = null; // 这一行会出错
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
问题
编译出错:
Expecting member declaration
原因
kotlin与java写法不一样,不能按java的方式来声明对象。
解决
一种方法是把工程设置中kotlin语言改成java,
别外一种,坚持用kotlin,使用关键字lateinit或者?=null来声明,
在类型后加“?”表示该变量可空, 如果是调用的java的类,建议用?,且后续使用要判断是否为空,
在定义变量时,又想该变量不为空,又不想定义就初始化,则用lateinit.
class MainActivity : AppCompatActivity() {
// private SerialPort mSerialPort = null; // 错误, Expecting member declaration
// private val mSerialPort : SerialPort = null; // 错误, Null can not be a value of a non-null type SerialPort
// private val mSerialPort : SerialPort = new SerialPort(new File(path), baudrate, 0); // 错误, Unresolved reference: new
// private lateinit var出差 n: Int; // 错误, 'lateinit' modifier is not allowed on properties of primitive types
//private lateinit var mSerialPort : SerialPort; // 正确
private val mSerialPort : SerialPort ?= null; // 正确
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
kotlin
Kotlin 是一种在 Java 虚拟机(JVM)上运行的静态类型编程语言,由 JetBrains 开发。它在安卓开发、后端开发等领域得到广泛应用。
应用场景
- 安卓开发:Kotlin 是安卓开发的官方支持语言,许多开发者使用 Kotlin 来开发安卓应用。它与安卓框架和库的兼容性良好,并且提供了很多方便的工具和特性,能够提高开发效率和代码质量。
- 后端开发:Kotlin 可以运行在 JVM 上,因此也适用于后端开发。结合 Spring Boot 等框架,开发者可以使用 Kotlin 构建高性能的后端服务。
- 脚本编写:Kotlin 支持脚本编程,可以用于编写自动化脚本、构建脚本等。
开发环境搭建
- 安装 IntelliJ IDEA:IntelliJ IDEA 是 JetBrains 开发的集成开发环境,对 Kotlin 提供了很好的支持。可以从 JetBrains 官方网站下载并安装适合自己操作系统的版本。
- 创建 Kotlin 项目:打开 IntelliJ IDEA,选择 “Create New Project”,在左侧列表中选择 “Kotlin”,然后根据需要选择项目类型(如 Kotlin/JVM、Kotlin/JS 等),点击 “Next” 并完成项目创建。
- 配置 Kotlin 环境:IntelliJ IDEA 会自动配置 Kotlin 环境,但如果需要手动配置,可以在项目的 build.gradle 或 pom.xml 文件中添加 Kotlin 依赖。
学习资源
- 官方文档:Kotlin 官方网站提供了详细的文档和教程,是学习 Kotlin 的重要资源。
书籍:有很多关于 Kotlin 的书籍可供选择,如《Kotlin 实战》等,这些书籍可以帮助你系统地学习 Kotlin 语言。 - 在线课程:在一些在线学习平台上,如 Coursera、Udemy 等,有许多关于 Kotlin 的课程,可以根据自己的需求选择适合的课程进行学习。
作者:帅得不敢出门