微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

scala继承

package Demo001.scala02

    //基类
    abstract class people(val name:String, val age:Int){

      val _name=name
      val _age=age

      def show(): Unit ={

        println(_name+_age)
      }

     def helloworld()//没有具体实现的抽象方法
    }


//如果我们将子类构造的参数的值传递给父类属性时,需要父类的构造参数有var或val修饰(虽然认的是val修饰但是此刻需要val显性出来,然后在子类构造中重写这俩个属性)
//只有主构造函数才可以往基类的构造函数里写参数。
    class child(override val name:String,override val age:Int, val sex:String)extends people(name,age){

        val _sex=sex

      //重写一个非抽象方法必须使用override修饰符。
      override def show(): Unit = {

        println(_name+_age+_sex)
      }

      //在子类中重写超类的抽象方法时,你不需要使用override关键字。
       def helloworld(): Unit = {

        println("实现抽象方法不需要override关键字")
      }
    }




object ExtendsWithclass extends App {

        new child("xiaoming",18,"man").helloworld()

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐