本文概述
- Scala final变量示例
- Scala final方法
- Scala final方法示例
- Scala fianl类示例
Scala final变量示例你不能在子类中覆盖最终变量。让我们来看一个例子。
class Vehicle{
final val speed:Int = 60
}
class Bike extends Vehicle{
override val speed:Int = 100
def show(){
println(speed)
}
}object MainObject{
def main(args:Array[String]){
var b = new Bike()
b.show()
}
}
输出
Error - value speed cannot override final member
Scala final方法父类中的final方法声明不能被覆盖。如果你不想覆盖它, 可以采用任何方法来完成。尝试覆盖最终方法将导致编译时错误。
Scala final方法示例
class Vehicle{
final def show(){
println("vehicle is running")
}
}
class Bike extends Vehicle{
//override val speed:Int = 100
override def show(){
println("bike is running")
}
}
object MainObject{
def main(args:Array[String]){
var b = new Bike()
b.show()
}
}
输出
method show cannot override final member
override def show(){
^
one error found
Scala final类示例你也可以进行最终类修饰。最终类无法继承。如果你将类定为最终类, 则无法进一步扩展。
final class Vehicle{
def show(){
println("vehicle is running")
}}class Bike extends Vehicle{
override def show(){
println("bike is running")
}
}object MainObject{
def main(args:Array[String]){
var b = new Bike()
b.show()
}
}
【Scala final关键字用法示例】输出
error: illegal inheritance from final class Vehicle
class Bike extends Vehicle{
^
one error found
推荐阅读
- Scala多维数组
- Scala数组介绍和用法
- Scala访问修饰符用法实例
- Spring Boot -- 启动流程分析之ApplicationContext 中
- OBEX 4. OBEX Application Framework
- 字节小程序关于在安卓机型下input聚焦时内容被撑走
- 将预装APP刷机包里删除VIVO x6刷机教程
- Android——gradle找不到的坑
- Android作为CXF客户端调用服务端。