Scala的多态

从编译的角度解释Scala的多态含义:在执行期间而非编译期间确定所引用对象的类型,根据实际类型调用其方法。一个编译型语言有两种类型,分别为编译类型和运行类型。程序中定义的引用变量所指向的具体类型和通过该变量发出的方法调用在编译时不确定,而是在程序运行期间才确定的。

Scala 复制代码
class Animal(){
  var name=""
  def run():Unit={
    println("animal run.....")
  }
}
//继承
//1.不劳而获
class Dog extends Aniaml(){
  //重写父类方法
  override def run():Unit={
    println("dog is running...")
  }
}
class Cat extends Aniaml(){
  override def run():Unit={
    println("cay is  running...")
  }
}
object bbb {
  def main(args: Array[String]): Unit = {
    val d1=new Dog()
    val c1=new Cat()
    run(d1)
    run(c1)

  }
  def run(obj:Aniaml):Unit={
    obj.run()
  }
}
相关推荐
传奇开心果编程14 分钟前
【Go入门练中学】第2课:条件与循环
后端·学习·golang
wno70431 分钟前
Spring Security基础使用
java·后端·spring
Go_error37 分钟前
那个让我们损失了 47,000 美元 AWS 账单的互斥锁错误
后端
Go_error40 分钟前
接口何时冗余:一种用于 Go 测试的精简依赖注入方法
后端
鱼弦40 分钟前
长尾场景的挑战:大模型如何处理极其冷门的知识?
后端
孙启超42 分钟前
【AI开发之Rust】第 8 课:泛型、trait 与 trait 对象
开发语言·后端·rust
co松柏44 分钟前
一文吃透 Pi:10w stars 的极简 Agent harness
后端·架构
joinwell521 小时前
没收到回复,再点一次会启动两个 AI 吗?
人工智能·后端
苏三说技术1 小时前
JDK27正式发布,人麻了!
后端
2501_933670791 小时前
经营财务岗技能栈拆解:Excel、SQL、BI、预算分析怎么准备
开发语言