Build an object with constructor parameters.

simple-constructor A class constructor receives values and stores them in fields.

Simple Constructors

name
SimpleConstructor.scala
Replay: real traced execution (multi-file project)
class Student(val name: String, val level: Int) {
  override def toString: String = "[student]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Ari"
    val student = new Student(name, 2)
    val label = student.name + ":" + student.level

    println("name=" + student.name)
    println("label=" + label)
  }
}
class Student(val name: String, val level: Int) {
  override def toString: String = "[student]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Bea"
    val student = new Student(name, 2)
    val label = student.name + ":" + student.level

    println("name=" + student.name)
    println("label=" + label)
  }
}
class Student(val name: String, val level: Int) {
  override def toString: String = "[student]"
}

object Main {
  def main(args: Array[String]): Unit = {
    val name = "Cam"
    val student = new Student(name, 2)
    val label = student.name + ":" + student.level

    println("name=" + student.name)
    println("label=" + label)
  }
}
  1. name ← Ari, student ← [student], label ← Ari:2

    5object Main {6  def main(args: Array[String]): Unit = {7    val name→ Ari = "Ari" //@name="Bea", "Cam"8    val student→ [student] = new Student(nameAri, 2)9    val label→ Ari:2 = student[student].name + ":" + student.level21011    println("name=" + student.nameAri)12    println("label=" + labelAri:2)13  }14}
    outputname=Ari
    label=Ari:2
  1. name ← Bea, student ← [student], label ← Bea:2

    5object Main {6  def main(args: Array[String]): Unit = {7    val name→ Bea = "Bea"8    val student→ [student] = new Student(nameBea, 2)9    val label→ Bea:2 = student[student].name + ":" + student.level21011    println("name=" + student.nameBea)12    println("label=" + labelBea:2)13  }14}
    outputname=Bea
    label=Bea:2
  1. name ← Cam, student ← [student], label ← Cam:2

    5object Main {6  def main(args: Array[String]): Unit = {7    val name→ Cam = "Cam"8    val student→ [student] = new Student(nameCam, 2)9    val label→ Cam:2 = student[student].name + ":" + student.level21011    println("name=" + student.nameCam)12    println("label=" + labelCam:2)13  }14}
    outputname=Cam
    label=Cam:2