IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【Kotlin】和【Java】使用对比小结 -> 正文阅读

[移动开发]【Kotlin】和【Java】使用对比小结

  1. Kotlin中的private和public
    Kotlin中创建的默认变量都是私有类型,会隐式生成对应的get/set函数。调用的时候虽然是直接通过变量名调用,实际上调用的是变量对应的get/set方法。要是变量变为public 需要使用@JvmFiled注解。
    私有变量:

    	class User{
    		    var name:String? = null      //相当于private
    		        //如果对get set只是返回变量值,则可以省略
    		        set(value){
    		            filed = value //field为中间变量
    		        }
    		        get(){
    		            return field
    		        }
    		}
    

    公有变量:

    class User{
        @JvmField
        var name:String? = null      //相当于public修饰
    }
    
  2. Kotlin中的类型系统
    Java中所有类的基类是Object,Kotlin中是Any。

    class Java extents Object{
    }
    
    class Kotlin : Any() {
    }
    

    Java中函数无返回值使用void,Kotlin中使用Unit。

    public void test(){ }
    
    public fun test(): Unit{ } //Unit可以省略
    
  3. 数组

    private String[] array = new String[]{"a","a","a"}; //java
    
    private var array = arrayOf("a","a","a”) //kotlin
    

    使用基本类型数组时,arrayOf会将数据进行装箱拆箱操作,会增加内存开销 。推荐使用IntArray,FloatArray等。。

    var intArray == intArrayOf(1,2,3,4) //InArray
    var floatArray == floatArrayOf(1,2,3,4) //FloatArray
    
  4. 基本数据类型
    基本数据类型的特点:不可为null,有默认值。如Java中int, double, float等,在Kotlin中对应的是Int, Double, Float。看起来有点像Java中基本数据类型的封装类,但是并不是。封装类是可空的,所以Java中基本数据类型的封装类(Int, Double, Float等)对应的Kotlin类为(Int?, Double?, Float?)。

  5. 静态方法
    Java中Utils中通常都是静态方法,为了方便调用。Kotlin中取消了static关键字,声明静态方法有2种方式:
    1.直接在文件中创建方法。
    Kotlin中的方法是可以直接写在文件中的,这样调用的时候只需import一下文件名即可调用。
    2.使用object创建
    object修饰的类中的方法可以通过ClassName.methordName( )直接调用。虽然用法一样但是并不是创建了静态方法,而是创建了一个单例对象。 object在kotlin中的作用就是创建单例对象。所以在Java中调用的时候要通过Instance实力调用。

     object Utils {
         fun getLength(content:String) : Int{
             return content.length 
         }
     }
    

    调用

    	Utils.getLength("asdasdas") //kotlin
    
    Utils.INSTANCE.getLength(" sadads ")//java 
    

    3.使用companion object创建, 并用使用JvmStatic注解

    class MainActivity : BaseActivity(){
       companion object {
            const val VERSION_CODE = 10 //静态常量用const修饰,在编译期赋值
    
            @JvmStatic
            fun getLength():Int { //… } 
        }
    }
    

    调用:

    MainActivity.getLength("asdasdas") //kotlin
    MainActivity.getLength(" sadads ")//java 
    
  6. 构造函数
    Kotlin中构造函数使用constructor关键字声明:

    class Apple:Fruit{
        constructor():this("") {} 
        constructor(name:String):super(name) {} //调用父类的构造方法
    
    }
    
  7. 集合
    Kotlin中的List是不支持修改的,通常使用ArrayList或者MutableList。同理Map也是不支持修改的,通常使用HashMap

    var list: MutableList = ArrayList()
    var arrayList1 = mutableListOf(1,2,3)
    var arrayList2 = arrayListOf(1,2,3)
    var map = hashMapOf<>()
    var map2 = mutableMapOf()
    
  8. internal修饰符
    Kotlin中的对象和方法默认是public的,如果使用internal 修饰,则只能在当前Moudle中调用。internal也可以用来修饰class

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:17:24  更:2022-02-14 21:19:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 15:02:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码