zoukankan      html  css  js  c++  java
  • scala构造函数

    -默认主构造函数

    在scala中,如果不指定主构造函数,编译器将创建一个主构造函数的构造函数。 所有类的主体的声明都被视为构造函数的一部分。它也被称为默认构造函数。

    -主构造函数

    Scala提供了一个类的主构造函数的概念。如果代码只有一个构造函数,则可以不需要定义明确的构造函数。它有助于优化代码,可以创建具有零个或多个参数的主构造函数。

    -次要/辅助构造函数

    以在类中创建任意数量的辅助构造函数,必须要从辅助构造函数内部调用主构造函数。this关键字用于从其他构造函数调用构造函数。当调用其他构造函数时,要将其放在构造函数中的第一行。

    代码示例:

    //默认主构造函数
    class Student {
    println("hello from default constructor!!!")
    }

    //主构造函数
    class Student1(id:Int,name:String){
    def showDetails(): Unit ={
    println(id + " " + name)
    }
    }

    //次要/辅助构造器
    class Student2(id:Int,name:String){
    var age:Int = 16
    def this(id:Int,name:String,age:Int){
    this(id,name)
    this.age = age
    println(id + "|" + name + "|" + age)
    }
    println(id + "--" + name)
    def showDetails(): Unit ={
    println(id + " " + name + " " + age)
    }
    }

    object test1{
    def main(args: Array[String]): Unit = {
    println("---默认主构造函数---")
    new Student()
    println("---主构造函数---")
    val s1 = new Student1(16,"xl")
    s1.showDetails()
    println("---辅助构造函数和构造器重载---")
    val s2 = new Student2(21,"xll",18)
    s2.showDetails()
    println("----------------")
    val s22 = new Student2(22,"xlll")
    s22.showDetails()
    }
    }

    输出结果:

    ---默认主构造函数---
    hello from default constructor!!!
    ---主构造函数---
    16 xl
    ---辅助构造函数和构造器重载---
    21--xll
    21|xll|18
    21 xll 18
    ----------------
    22--xlll
    22 xlll 16

  • 相关阅读:
    禁用网络连接后无法访问本机数据库的问题
    DevExpress使用笔记
    DEV控件 皮肤问题
    SQLServer2008导入Excel遇到的问题
    InnoSetup使用笔记
    SQLServer清空数据库中所有表的数据
    MS SQL Server2000转换成MySQL
    由MySQL登录不了引发的一些问题
    onerror事件
    DIV+CSS一些小小的技巧
  • 原文地址:https://www.cnblogs.com/xl717/p/11739006.html
Copyright © 2011-2022 走看看