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()
  }
}
相关推荐
小小测试开发1 天前
安装 Python 3.10+
开发语言·人工智能·python
AAA大运重卡何师傅(专跑国道)1 天前
【无标题】
开发语言·c#
copyer_xyf1 天前
Python 异常处理
前端·后端·python
XBodhi.1 天前
Visual Studio C++ 语法错误: 缺少“;”(在“return”的前面)
开发语言·c++·visual studio
LSssT.1 天前
【01】Python 机器学习
开发语言·python
llz_1121 天前
web-第三次课后作业
前端·后端·web
l1t1 天前
DeepSeek总结的使用实体-组件-系统和基于存在性处理进行Python编程39-40
开发语言·python
曾阿伦1 天前
Python 搭建简易HTTP服务
开发语言·python·http
YG亲测源码屋1 天前
java配置环境变量、jdk环境变量配置、java环境变量设置方法
java·开发语言
MIUMIUKK1 天前
从语法层面,看懂 Python 的特殊处
java·开发语言·python