zoukankan      html  css  js  c++  java
  • Scala 构造器

    Scala 构造器和Java的构造方法有相似之处,Scala 构造器分为主构造器和附属构造器,主构造器只有一个,附属构造器可以有无数个。

    主构造器

    在我们对一个类实例化的时候,一定会调用主构造器,或显式调用或隐式调用的区别而已。

    定义一个主构造器

    class 类名(....)

    主构造器可以携带参数列表,也可以不携带参数列表,例如很多类在定义的时候可能不会带有参数,这时类的主构造器就没有参数。

    附属构造器

    1. 附属构造器的名称统一为 this ;

    2. 每一个附属构造器都必须显式地调用其它附属构造器或者主构造器。

    DEMO

    /**
     * class 类名(....)  在Scala中叫做主构造器
     *
     * 附属构造器
     */
    class Person(val name:String, val age:Int) {   // 默认也把括号中定义的东西转成属性
      println("Person Constructor enter...")
    
      val school = "pku"
      var gender:String = _
    
      /**
       * 附属构造器
       * 1) def this定义的叫做附属构造器
       * 2) 一个附属构造器中第一行必须要调用主构造器或者其他附属构造器
       */
      def this(name:String, age:Int, gender:String) {
        this(name, age) // 调用主构造器
        this.gender = gender
      }
    
      // 默认class里面是有一个toString
      override def toString() = "父类的toString方法"
    
      println("Person Constructor leave...")
    }
  • 相关阅读:
    如何使用SQL语句 查看存储过程的内容
    sl第一篇
    winForm连接数据库(sqlserver2005)
    Format
    dual使用
    ThreadLocal与事务
    oracle中的常用函数
    Oracle中merge into的使用
    API设计中token的思路
    SVN常用功能
  • 原文地址:https://www.cnblogs.com/chuijingjing/p/14451337.html
Copyright © 2011-2022 走看看