首页 > 其他分享 >kotlin<第二篇>:类与继承

kotlin<第二篇>:类与继承

时间:2023-12-13 18:03:28浏览次数:30  
标签:String 继承 kotlin Int param2 param1 constructor 构造函数

一、类的定义
class Test {
}
二、构造函数
主构造函数:

class Test(param1 : String, param2 : Int) {

    init {
        println("param1:$param1")
        println("param2:$param2")
    }

}

还可以添加constructor关键字

class Test constructor(param1 : String, param2 : Int) {

    init {
        println("param1:$param1")
        println("param2:$param2")
    }

}

次构造函数:

class Test {

    constructor() { }

    constructor(param1 : String, param2 : Int) { }

}

如果存在次构造函数,必须继承主构造函数:

class Test (param1 : String, param2 : Int) {

    constructor(param1 : String, param2 : Int, param3 : Int) :this(param1, param2) {

    }

}

初始化块(init)和次构造函数的执行顺序:

我们需要知道,init代码块是主构造函数初始化的地方,当主构造函数被实例化的时候,init代码块必然执行。
当次构造函数被实例化的时候,init代码块首先被执行,然后才会执行次构造函数的实现。

私有构造函数:

    class Test private constructor(param1 : String, param2 : Int) {

    private constructor(param1 : String, param2 : Int, param3 : Int) :this(param1, param2) {
      
    }
}

构造函数时可以被私有的,如果被私有,外部将不能访问,也就是说,在外部,不能对该构造方法进行实例化。

private 关键字放在 constructor 前面,默认情况下是 public,public情况下,主构造函数的 constructor 关键字可以被省略。

标签:String,继承,kotlin,Int,param2,param1,constructor,构造函数
From: https://blog.51cto.com/u_11099047/8804799

相关文章

  • 九,JAVA继承
    继承/extends子类继承父类后,子类可以获取父类中所有的非私有成员子类:被抽取共同成员的类,通常是多个类,Student,Worker父类共同成员所在的类,通常是少的一方,PersonJava中的类与类之间的继承是:单继承,支持多层继承Object类:上帝类,是所有类的父类java中如果一个类没有声......
  • kotlin 泛型的类型擦除和实化类型参数
    JVM上的泛型一般是通过类型的擦除实现,就是泛型类实例的类型实参在运行时不保留。但是可以通过声明为inline函数使其类型实参不被擦除那么对类型擦除有啥好处呢?应用程序使用的内存总量较小,因为要保存在内存中的类型信息更少。一、类型检查和转换1、类型检查因为类型会被擦除,那......
  • kotlin<第一篇>:入门
    一、main和打印funmain(){println("HeloKotlin")}kotlin中,新建一个main函数可以调试kotlin程序,println函数可以将结果输出到控制台。二、常量和变量val:只读变量(只读,不可变化)var:变量constval:常量常量不能在函数中使用,只能在方法外面使用,比如:constvalUSERNAME:St......
  • 高效的 Json 解析框架 kotlinx.serialization
    一、引出问题你是否有在使用Gson序列化对象时,见到如下异常:Abstractclassescan'tbeinstantiated!RegisteranInstanceCreatororaTypeAdapterforthistype.什么时候会出现如此异常。下面举个栗子:importcom.google.gson.Gsonimportcom.google.gson.reflect.Type......
  • 第一节 Kotlin基础
    Kotlin基础简介主要介绍:开发环境的搭建Kotlin基本语法Kotlin参考Kotlin源代码网址:https://github.com/JetBrains/kotlinKotlin官网:https://kotlinlang.orgKotlin官方参考文档:https://kotlinlang.org/docs/referencekotlin标准库:https://kotlinlang.org/api/latest/......
  • 重载、继承、多态、重写
    重载,是同一个类里,方法名相同,参数不同。继承,是子类继承父类的特征和行为,可以称之为模板法。多态,对于某个类型的方法调用,其真正执行的方法取决于运行时期实际对象实际类型的方法:1、编译时多态又称静态多态,重载是编译时的多态,因为根据调用传参的类型、数量便可决定调用的是哪个重......
  • java继承
    一、概述1、概念2、格式3、优缺点4、继承中变量的访问特点5、super示例: 6、继承中构造方法的访问特点7、继承中成员方法的访问特点  ......
  • 用Kotlin抓取微博数据并进行热度预测
    闲来无事,逛逛微博,看着每条热度很高的博文趣事,心想能否通过爬虫抓取微博热度并进行趋势分析,说干就干,这里需要注意的问题我会一一标注。爬虫ip信息的设置是在爬虫程序中进行的。爬虫ip信息可以帮助爬虫程序在访问目标网站时进行匿名化处理,以避免被目标网站检测到并封禁IP。以下是一......
  • 支持优先级继承的RT-mutex子系统
    https://www.kernel.org/doc/html/v6.6/locking/rt-mutex.htmlRT-mutex子系统支持PIRT-mutexes与优先级继承一起使用,以支持PI-futexes,从而使pthread_mutex_t支持优先级继承属性(PTHREAD_PRIO_INHERIT)。[有关PI-futexes的更多详细信息,请参见轻量级PI-futexes。]这项技术是在-rt......
  • kotlin协程和java线程有啥区别
    Kotlin协程相对于Java线程有一些优势,尤其在处理异步和并发任务时,提供了更加简洁、可读性更高的代码。以下是一些Kotlin协程相比于Java线程的优势:轻量级:协程是轻量级的,可以更高效地创建和销毁,不需要像线程那样消耗大量的系统资源。更好的可读性:使用协程可以避免......