kotlin内部类与嵌套类(代码片段)

zhangphil zhangphil     2023-03-07     662

关键词:

kotlin内部类与嵌套类

简单的说,kotlin嵌套类相当于java的静态内部类,kotlin内部类相当于java普通内部类。

class OutClass 
    val ocval = "一个外部类变量值"

    //嵌套类,相当于Java的静态内部类
    class NestedClass 
        fun test1() = "嵌套内部类函数"

        //错误,编译无法通过
        //fun test2() = "嵌套内部类引用外部类变量$ocval"
    

    //普通内部类
    inner class InnerClass 
        fun test1() = "内部类引用外部类变量$ocval"
    



fun main(args: Array<String>) 
    println(OutClass.NestedClass().test1())

    var ic = OutClass().InnerClass()
    println(ic.test1())

输出:

kotlin学习——数据类,泛型,嵌套类与内部类,对象表达式和对象声明(代码片段)

一.数据类数据类和JAVA中的javabean类似,只作用于保存一些数据,所以如果创建,会默认生成一些函数,并且会被标记为data:equals()/hashCode()toString()componentN()copy()我们来看下标准的写法dataclassUser(valname:String,valage:Int)... 查看详情

深入kotlin-嵌套类和内部类(代码片段)

嵌套类和内部类嵌套类kotlin中,嵌套类和内部类是两种不同的类。所谓嵌套类是指定义在类体内的类。classOuterClass privatevalname:String="Anna" classNestedClass funnestedMethod()="Attila" funmain(args:Array<String&g 查看详情

对比java学kotlin嵌套类和内部类(代码片段)

...taticStaticInner//静态嵌套类classInner//非静态嵌套类我们知道Kotlin语言中没有static关键字,我们可以Kotlin的接口或类体中定义嵌套类:interfaceOuterInterfaceclassInnerClassinterfaceI 查看详情

对比java学kotlin嵌套类和内部类(代码片段)

...taticStaticInner//静态嵌套类classInner//非静态嵌套类我们知道Kotlin语言中没有static关键字,我们可以Kotlin的接口或类体中定义嵌套类:interfaceOuterInterfaceclassInnerClassin 查看详情

java学习脚印9:外部类与嵌套类(代码片段)

...嵌套类的定义、嵌套类的分类?嵌套类的特性有哪些?内部类的分类及每种内部类的特性有哪些?外部类与嵌套类是java语言中一个稍显繁琐的知识点,但确实又带来很多便利之处。嵌套类可以从逻辑上只对一个类有用的类... 查看详情

对比java学kotlin嵌套类和内部类(代码片段)

...taticStaticInner//静态嵌套类classInner//非静态嵌套类我们知道Kotlin语言中没有static关键字,我们可以Kotlin的接口或类体中定义嵌套类:interfaceOuterInterfaceclassInnerClassinterfaceInnerInterfaceclassOuterClass()classNested()funfoo()=1interfaceInner... 查看详情

java学习脚印9:外部类与嵌套类(代码片段)

...嵌套类的定义、嵌套类的分类?嵌套类的特性有哪些?内部类的分类及每种内部类的特性有哪些?外部类与嵌套类是java语言中一个稍显繁琐的知识点,但确实又带来很多便利之处。嵌套类可以从逻辑上只对一个类有用的类... 查看详情

内部嵌套类的 Kotlin 工厂

】内部嵌套类的Kotlin工厂【英文标题】:KotlinFactoryonInnerNestedClass【发布时间】:2016-04-2112:50:11【问题描述】:我正在尝试使用伴随对象工厂方法(相当于Java中的静态工厂方法)在Kotlin中创建嵌套内部类。这是我的代码的简化版... 查看详情

kotlin数据类与密封类(代码片段)

数据类Kotlin可以创建一个只包含数据的类,关键字为 data:dataclassUser(valname:String,valage:Int)编译器会自动的从主构造函数中根据所有声明的属性提取以下函数:equals() / hashCode()toString() 格式如 "User(name=John,age=42)"co... 查看详情

kotlin数据类与密封类(代码片段)

/***主构造函数至少包含一个参数*所有的主构造函数的参数必须标识为val或者var*数据类不可以声明为abstractopen、sealed或者inner*数据类不能继承其他类,但是可以实现接口*///关键字为datadataclassUser(valname:String,valage:Int)//funcopy(name:Str... 查看详情

kotlin类与继承(代码片段)

类kotlin中使用关键字class声明类类声明由类名,类头(指定其类型参数,主构造函数等),花括号包围的类体构成,类头和类体都是可选的。classStudent如果一个类没有类体,则可以省略花括号classEmpty主... 查看详情

非静态内部类与静态内部类(代码片段)

文章目录非静态内部类与静态内部类内部类是什么内部类解析JDK8JDK11加载的顺序的验证执行:宿主类内静态变量被调用执行:非静态内部类的静态变量被调用执行:静态内部类中的变量被调用时非静态内部类与静态内... 查看详情

抽象类中嵌套接口(代码片段)

更新记录【1】2020.02.08-16:371.完善内容正文我正在看内部类与接口的时候,突然萌生出一个想法:抽象类中能不能嵌套接口呢?于是我准备试一试:abstractclassAbstractClassinterfaceinpublicvoidprint();没想到,这种写法竟然被认可经过一番... 查看详情

外部类与内部类的访问(代码片段)

外部类与内部类之间的访问 内部类相当于外部类的一个成员,和其它成员处于同一个级别,因此可以在内部类中直接访问外部类的各个成员(包括私有属性)。 需要注意的是在外部类中要想访问内部类的各个成员(这里也包... 查看详情

kotlin——最详细的抽象类(abstract)内部类(嵌套类)详解

在前面几个章节中,详细的介绍了Kotlin类的类别中的数据类、密封类、接口类以及枚举类。在这个章节中会对Koltin的抽象类和内部类作出一个详细的讲解。如果对上面所提到的类的类别还不是很清晰的,请阅读我的前几篇文章。... 查看详情

kotlin对象表达式(代码片段)

1.概念?kotlin使用对象表达式代替java的匿名内部类语法。?语法格式:object:[0-N个父类型]2.特点对象表达式不能是抽象类;对象表达式不能定义构造器;对象表达式可以包含内部类(inner),但不能包含嵌套类;对象表达式可以访问... 查看详情

内部类与静态内部类(代码片段)

...没什么耐性的人,可以只看下句,自己去品味理解:  内部类:就是我是你的一部分,我了解你,我知道你的全部,没有你就没有我。(所以内部类对象是以外部类对象存在为前提的)  静态内部类:就是我跟你没关系,自... 查看详情

kotlin嵌套类(代码片段)

就是类中定义类packageloaderman.democlassOutervarname:String="name"innerclassinner//inner关键字获取外部类的实例引用fungetName():String=nameclassHafungo()=3packageloadermanimportloaderman.demo.Outerfunmain(arg:Array<String>)valname=Outer().inner().getName()//注意Outer()和O... 查看详情