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()
  }
}
相关推荐
eastyuxiao12 小时前
影响 OpenClaw 自动处理效率的核心因素
开发语言·人工智能
a8a30212 小时前
Laravel8.x新特性全解析
java·spring boot·后端
啧不应该啊12 小时前
Day1 python与c宏观区别
c语言·开发语言
时空系12 小时前
第13篇:综合实战——制作我的小游戏 python中文编程
开发语言·python·ai编程
XiYang-DING12 小时前
【Java EE】CAS(Compare And Swap)
java·开发语言·java-ee
OneT1me12 小时前
CVE-2026-31431 的C语言版本
c语言·开发语言·安全威胁分析
白露与泡影12 小时前
Spring Boot 完整流程
java·spring boot·后端
Mr.Rice.Fool13 小时前
rust面试经验1
后端·面试·职场和发展·rust
xun-ming13 小时前
AI时代Java程序员自救手册
java·开发语言·人工智能