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()
  }
}
相关推荐
@atweiwei15 小时前
LangChainRust:用 Rust 构建高性能 LLM 应用的完整指南
开发语言·人工智能·ai·rust·大模型·llm·agent
神奇小汤圆15 小时前
从分析 Claude Code 源码到自己写一个:AnyCoder,支持 DeepSeek/Qwen 等任意大模型的开源 AI 编程 Agent
后端
老约家的可汗15 小时前
搜索二叉树的概念及使用
java·开发语言
不知名的老吴15 小时前
R语言4.3.0安装包百度网盘中文版下载与详细安装指南
开发语言·r语言
棉猴15 小时前
python海龟绘图之计算夹角towards()
开发语言·python·turtle·海龟绘图·towards
张人玉15 小时前
SMT 贴片机上位机项目
开发语言·c#
我不是懒洋洋15 小时前
【经典题目】链表OJ(相交链表、环形链表、环形链表II、随机链表的复制)
c语言·开发语言·数据结构·链表·ecmascript·visual studio
ん贤15 小时前
口述Map
开发语言·面试·golang
悟空码字15 小时前
别再重复造轮子了!SpringBoot对接第三方系统模板,拿来即用
java·spring boot·后端
程序员cxuan15 小时前
为什么 Claude 要求实名认证?
人工智能·后端·程序员