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

  • 相关阅读:
    HTML5的智能提示在VisualStudio2010
    浏览器的缓存机制
    等待资源(wait_resource)解码(完整版)
    对quartz的总结
    利用Spring动态对Quartz定时任务管理
    Tomcat源码分析(一)服务启动
    深入分析 Java 中的中文编码问题
    企业搜索引擎开发之连接器connector(一)
    SpringQuartz (一)
    Quartz 项目应用笔记
  • 原文地址:https://www.cnblogs.com/xl717/p/11739006.html
Copyright © 2011-2022 走看看