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()
}
scala继承
最新推荐文章于 2025-12-25 22:01:25 发布
本文通过具体的Scala代码示例,介绍了如何定义抽象类、实现抽象方法以及在子类中重写父类的方法。展示了Scala中基类构造、属性继承及方法重写的语法特点。
1349

被折叠的 条评论
为什么被折叠?



