SCALA中类的继承

时间:2022-04-21 08:39:01

慢慢的,回想起以前学习JAVA和C#当中的的类的特性了。

感觉大同小异吧。。。

package com.hengheng.scala

class OOPInScala {

}
class Student(name: String, age : Int, val major : String) extends Person(name, age) {
  println("This is the subclass of Person, major is :" + major)
  override def toString = "Overrided toString method....."
  override val University = "TsingHua"
}
class Person(val name : String, val age : Int){
  println("This is the primary constructor!")
  var gender : String = _

  def this(name :String, age : Int, gender : String){
    this(name, age)
    this.gender = gender
  }
  val University = "BJU"
}
//class Person {
 // var name : String = _
  //val age = 27
  //private[this] val  gender = "male"
//}
object OOPInScala{
  def main(args: Array[String]) {
    val p = new Person("Rocky", 27, "male")
    //val p = new Person
    //p.name = "Rocky"
    println(p.name + ":" + p.age + p.gender)
//    println(p.gender)
    val s = new Student("Rocky", 27, "Computer")
    println(s.toString)
    println(s.University)
  }
}

  输出:

This is the primary constructor!
Rocky:27male
This is the primary constructor!
This is the subclass of Person, major is :Computer
Overrided toString method.....
TsingHua