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()
}
原文地址:https://blog.csdn.net/weixin_43680708/article/details/89217401
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。