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()
  }
}
相关推荐
GoGeekBaird42 分钟前
我最近在写 BeeWeave,想把 Agent 用过的上下文留住
后端·github·ai编程
盐焗鹌鹑蛋1 小时前
【C++】继承
开发语言·c++
醇氧1 小时前
Spring 容器 Map 注入机制详解
java·后端·spring
梨子同志1 小时前
MyBatis-Plus
后端
doiito1 小时前
微服务资源优化新思路:Sablier + Podman 实现按需启动与自动休眠
后端·微服务·性能优化
接着奏乐接着舞。1 小时前
【2026年7月最新】69道RAG面试题
前端·人工智能·后端·aigc·embedding·rag
栈溢出了1 小时前
Java Lambda 表达式笔记
java·开发语言·intellij-idea
edwarddamon1 小时前
Spring Cloud Gateway 全链路 traceId 传递方案
后端
神奇小汤圆1 小时前
我们如何在 Elasticsearch 上构建一个持久 agent 记忆层,实现 0.89 召回率和零租户泄漏
后端