scala继承

本文通过具体的Scala代码示例,介绍了如何定义抽象类、实现抽象方法以及在子类中重写父类的方法。展示了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()

}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值