美文网首页
构造器、辅助构造器

构造器、辅助构造器

作者: lehuai | 来源:发表于2018-01-03 10:02 被阅读0次
package day03
/**
  * 构造器、辅助构造器
* 主构造器的参数列表要放到类名的后面,和类名放在一起
* val修饰的构造参数具有不可变性,var修饰的构造参数具有可变性
* 此时声明的faceValue:Int 只能在本类调用,伴生对象也无法调用
* faceValue 虽然没有用val或者var修饰,默认是val
* @param name
* @param age
* @param faceValue
 */
class StructDemo(val name:String, var age: Int,faceValue:Int = 90) {

  var gender: String = _

  def getFaceValue():Int = {
//    faceValue = 100  //此时值是不可更改的,默认是val修饰的
    faceValue
  }

  // 辅助构造器
  def this(name: String, age: Int, faceValue:Int, gender:String){
    this(name,age,faceValue)  //辅助构造器第一行必须先构造主构造器
    this.gender = gender
  }
}

object StructDemo {
  def main(args: Array[String]): Unit = {

//    val s = new StructDemo("ningning",26,98)
    val s = new StructDemo("lulu",26,98,"女")
//    s.name = "tingting"  //无法赋值,因为是用val修饰的
    s.age = 27
    println(s.name)
    println(s.age)
//    println(s.faceValue)
//    val faceValue = s.getFaceValue()
    println(s.getFaceValue())
    println(s.gender)
  }
}

相关文章

  • Scala(四)-①-面相对象初级

    ① 构造器 Why 构造器的设计目的是为了用来初始化对象,在Scala中构造器分为主构造器和辅助构造器两种,辅助构...

  • 构造器、辅助构造器

  • 2018-04-24 scala

    类 类的主构造器:主构造器的变量会被执行,方法会被加载,调用的方法会被执行 辅助构造器:重载继承:extends实...

  • java编程思想5-初始化与清理

    1 构造器 不接受任何参数的构造器叫做默认构造器,如果没有编写构造器,则会自动创建无参构造器。如果有构造器,则不会...

  • Initialization in Swift

    简介 *自定义构造过程 *默认构造器 *值类型的构造器代理 *类的继承和构造过程 *可失败构造器 *必需构造器 *...

  • swift学习笔记

    1.swift类的构造器 swift构造器有三种:指定构造器和, 便利构造器, 默认构造器. 其中用'conve...

  • iOS开发 - 「Swift 学习」Swift的构造过程(值类型

    值类型的构造器代理 构造器通过调用其它构造器来完成实例的部分构造过程称为构造器代理,能够减少多个构造器间的代码重复...

  • Swift 定义枚举类

    添加构造器 便利构造器

  • 构造方法总结二

    构造器间的调用规则 指定构造器必须调用其直接父类的"指定构造器" 便利构造器必须调用同类中的其它构造器(指定或便利...

  • iOS9 with Swift 类的构造器(二)

    子类的构造器 在阐明和辨别清楚指定构造器和便利构造器之后,我们就可以开始了解子类的构造器了。 未声明构造器: 如果...

网友评论

      本文标题:构造器、辅助构造器

      本文链接:https://www.haomeiwen.com/subject/ththnxtx.html