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()
  }
}
相关推荐
神秘剑客_CN5 分钟前
python安装requests及pandas
开发语言·python·pandas
回家路上绕了弯8 分钟前
IDEA 2026.1 玩转 Git Worktree:可视化操作,告别分支切换内耗
git·后端
代码改善世界11 分钟前
【C++初阶】stack和queue用法详解:常用接口、模拟实现与面试题(附完整代码)
开发语言·c++
0xDevNull13 分钟前
Spring Boot 2.0动态多数据源切换实战教程
java·后端
少司府18 分钟前
C++基础入门:类和对象(下)
开发语言·c++·类型转换·类和对象·友元
小白学大数据20 分钟前
Python 爬虫:拍卖网站列表页与详情页数据联动爬取
开发语言·爬虫·python
IT_陈寒21 分钟前
Vue这个响应式陷阱让我加了两天班
前端·人工智能·后端
武子康24 分钟前
大数据-268 实时数仓-ODS 层 Flink+Kafka+HBase实时流处理:Kafka数据写入维度表实战
大数据·后端·flink
斌味代码27 分钟前
SpringBoot 实战总结:踩坑与解决方案全记录
java·spring boot·后端
Highcharts.js29 分钟前
在 Next.js App Router 中使用 Highcharts Stock(完整实战指南 )
开发语言·javascript·ecmascript