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()
  }
}
相关推荐
bcbnb2 分钟前
iOS 崩溃日志分析工具全指南,多工具协同构建稳定性分析体系
后端
无限进步_2 分钟前
C语言字符串连接实现详解:掌握自定义strcat函数
c语言·开发语言·c++·后端·算法·visual studio
Han.miracle3 分钟前
Java的多线程——多线程(二)
java·开发语言·线程·多线程
舒一笑4 分钟前
PandaCoder 2.4.3 震撼发布!
后端·程序员·intellij idea
阿登林13 分钟前
Unity3D与Three.js构建3D可视化模型技术对比分析
开发语言·javascript·3d
没有bug.的程序员16 分钟前
Spring Boot 整合第三方组件:Redis、MyBatis、Kafka 实战
java·spring boot·redis·后端·spring·bean·mybatis
tonydf26 分钟前
如何正确统计网络用户数量?别再被连接数和独立IP骗了!
后端·网络协议
清空mega31 分钟前
从零开始搭建 flask 博客(1)实验
后端·python·flask
JohnYan36 分钟前
Bun技术评估 - 20 YAML
后端·代码规范·bun
cherryc_36 分钟前
JavaSE基础——第十二章 集合
java·开发语言