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()
  }
}
相关推荐
逻辑驱动的ken41 分钟前
Java高频面试场景题25
java·开发语言·深度学习·面试·职场和发展
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第32题:Java的异常处理机制是什么
java·开发语言·后端·面试
ltl2 小时前
Softmax 与概率分布:从分数到选择的桥
后端
刀法如飞2 小时前
Claude Code Skills 推荐:2026年最值得安装的10个AI技能
前端·后端·ai编程
無限進步D4 小时前
Java 面向对象高级 接口
java·开发语言
IT_陈寒4 小时前
Vite热更新失效?你可能漏了这个小细节
前端·人工智能·后端
两年半的个人练习生^_^4 小时前
Java日志框架和使用、日志记录规范
java·开发语言·开发规范
浮游本尊5 小时前
服务请求附件:从上传到预览、下载的实现详解
后端
程序员辉哥5 小时前
从零构建Agent智能体系列01-从零理解智能体
后端·openai·ai编程
客场消音器5 小时前
我用两周半 Vibe Coding 做了一个前额叶训练的微信小程序
前端·javascript·后端