scala中抽象类里实例化如何写新方法
在Scala中,抽象类是一种不能被实例化的类。但是,可以在抽象类里定义抽象方法和具体方法。具体方法可以有实现,而抽象方法没有实现。
如果你想在抽象类里添加新的具体方法,可以直接在抽象类中定义该方法的实现。例如:
abstract class AbstractClass {
def abstractMethod(): Unit // 抽象方法
def newMethod(): Unit = {
println("这是一个新的具体方法")
}
}
class ConcreteClass extends AbstractClass {
def abstractMethod(): Unit = {
println("这是抽象方法的实现")
}
}
val obj = new ConcreteClass()
obj.abstractMethod() // 输出:这是抽象方法的实现
obj.newMethod() // 输出:这是一个新的具体方法
在上面的例子中,AbstractClass 是一个抽象类,其中包含了一个抽象方法 abstractMethod() 和一个具体方法 newMethod()。在 ConcreteClass 类中,我们必须实现 abstractMethod() 方法。然后我们创建了一个 ConcreteClass 的实例 obj,并调用了 abstractMethod() 和 newMethod() 方法。
注意,在抽象类中定义的具体方法是可以被子类继承和重写的。如果你想要子类必须实现某个具体方法,但又不想把该方法定义为抽象方法,你可以使用 final 关键字来修饰该方法,防止子类重写
原文地址: https://www.cveoy.top/t/topic/hL9E 著作权归作者所有。请勿转载和采集!