scala中的继承



package kang

class Animal2{
  val num=3
  val array=new Array[String](num)
} 

/*class Person extends Animal2{//这种方式子类不能覆盖父类的成员
   val num=5
}*/

class Person extends {//这是提前定义,子类能覆盖父类的成员
  override val num=5
} with Animal2

//重写equals和hashcode方法
class goods(val name:String,val salary:Int) {
  final override def equals(other:Any)={
    val a=other.asInstanceOf[goods] 
    if(a==null) false 
    else a.name==name&&a.salary==salary
  }
  final override def hashCode()=name.hashCode()+salary.hashCode()
}
object Scala_extends {
  def main(args: Array[String]): Unit = {
    val p=new Person()
    println(p.array.length)
  }
}


你可能感兴趣的:(scala)