01.kotlin的工具类该怎么写

  • Object
    用于生成单例
    在init{}
    中完成单例的初始化
    注意:对象声明不能在局部作用域(即直接嵌套在函数内部),但是它们可以嵌套到其他对象声明或非内部类中。


    01.kotlin的工具类该怎么写_第1张图片
    Object.png
  • companion 伴生对象
    适用于类中有静态方法也有非静态方法的情况
    静态方法使用companion 包裹 加@jvmStatic
    伴生对象的成员可以通过只使用类名作为限定符调用
    看起来像是其他语言的静态成员,在运行时他们任然是真实的实力对象,而且可以实现接口


    01.kotlin的工具类该怎么写_第2张图片
    companion.png
  • 扩展函数 不需要传入被扩展的类型参数 可以直接被其子类调用
    例:Toast工具
    新建一个Util.kt
    fun Context.ShowToast(String toastMsg) : Toast {
    var toast=Toast.makeText(this,toastMsg,Toast.LENGTH_SHORT)
    toast.show()
    return toast
    }

在Activity中 直接调用 showToast(msg)
在fragment中可以getActivity.showToast(msg)

扩展函数并不是真正地修改了原来的类,它是以静态导入的方式来实现的。扩展函数可以被声明在任何文件中,因此有个通用的实践是把一系列有关的函数放在一个新建的文件里。

你可能感兴趣的:(01.kotlin的工具类该怎么写)