Kotlin基础 7

来源:互联网 发布:数据字典模型作用 编辑:程序博客网 时间:2024/06/03 23:48

先了解下 kotlin 跟 java 内部类的差异

Java 内部类的实现

public class Parent {    public static class Child{    }}public static void main(String...args){    Child child = new Child();}

第二种方式

public class Parent {    public class Child{    }}public static void main(String...args){    Parent parent = new Parent();    Child child = parent.new Child();}

而在Kotlin中 静态内部类 (默认)

class Parent{    //默认就是 java的 public static    class Child}fun main(args: Array<String>) {    val inner = Parent.Child()}

kotlin 非静态内部类

class Parent{    //非静态内部类声明    inner class Child}fun main(args: Array<String>) {    val inner = Parent().Child()}

类的访问 this

class Parent{    val a:Int = 0    inner class Child{        val a:Int = 5        fun hello(){            println(this@Parent.a)        }    }}fun main(args: Array<String>) {    val inner = Parent().Child()    inner.hello()}

匿名内部类

interface OnClickListener{    fun onClick()}class View{    var listenner:OnClickListener? = null}fun main(args: Array<String>) {    val view = View()    view.listenner = object : OnClickListener{        override fun onClick() {        }    }}
原创粉丝点击