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()
  }
}
相关推荐
白藏y18 小时前
【C++】muduo接口补充
开发语言·c++·muduo
是真的小外套18 小时前
第十五章:XXE漏洞攻防与其他漏洞全解析
后端·计算机网络·php
zk_one18 小时前
【无标题】
开发语言·前端·javascript
阿里嘎多学长18 小时前
2026-04-05 GitHub 热点项目精选
开发语言·程序员·github·代码托管
OOJO18 小时前
c++---vector介绍
c语言·开发语言·数据结构·c++·算法·vim·visual studio
Makoto_Kimur18 小时前
Java 打印模板大全
java·开发语言·排序算法
程序员榴莲18 小时前
Java(十)super关键字
java·开发语言
胖咕噜的稞达鸭19 小时前
C++技术岗面试经验总结
开发语言·网络·c++·网络协议·tcp/ip·面试
ybwycx19 小时前
SpringBoot下获取resources目录下文件的常用方法
java·spring boot·后端
java1234_小锋19 小时前
Java高频面试题:如何编写一个MyBatis插件?
java·开发语言·mybatis