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()
  }
}
相关推荐
superman超哥7 分钟前
仓颉语言中基本数据类型的深度剖析与工程实践
c语言·开发语言·python·算法·仓颉
Pitayafruit8 分钟前
Spring AI 进阶之路05:集成 MCP 协议实现工具调用
spring boot·后端·llm
不爱吃糖的程序媛27 分钟前
Ascend C开发工具包(asc-devkit)技术解读
c语言·开发语言
bu_shuo28 分钟前
MATLAB奔溃记录
开发语言·matlab
ss27332 分钟前
线程池:任务队列、工作线程与生命周期管理
java·后端
不像程序员的程序媛37 分钟前
Spring的cacheEvict
java·后端·spring
你的冰西瓜1 小时前
C++标准模板库(STL)全面解析
开发语言·c++·stl
踏浪无痕1 小时前
JobFlow 实战:无锁调度是怎么做到的
后端·面试·架构
shoubepatien1 小时前
JAVA -- 11
java·后端·intellij-idea
徐先生 @_@|||1 小时前
(Wheel 格式) Python 的标准分发格式的生成规则规范
开发语言·python