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()
  }
}
相关推荐
夜之眷属6 分钟前
服务启动即崩:InetAddress.getLocalHost() 抛 UnknownHostException 排查记
java·运维·后端·docker
老王爱玩车21 分钟前
文件操作从打开到缓冲区
c语言·开发语言·学习
SunnyDays101138 分钟前
Java 合并 PDF 文件:完整合并、指定页面合并与流合并
java·开发语言·合并pdf
金銀銅鐵1 小时前
[Java] 用GUI展示class文件顶层的 access_flags
后端·python·ai编程
kimnoic1 小时前
Python操作xlwings的实例详解
开发语言·python
IT_陈寒2 小时前
Vue的数组更新把我坑惨了
前端·人工智能·后端
栗子~~2 小时前
java - logstash-logback-encoder 集成 demo
java·开发语言·logback
高晶2 小时前
Android 智能语音开发新手入门实战
后端·程序员
励志不掉头发的内向程序员2 小时前
鼠标点一下,图形是怎么画出来的?拆解 CAD 的 Action 状态机
后端·架构