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()
  }
}
相关推荐
ruan1145145 分钟前
Java Lambda 类型推断详解:filter() 方法与 Predicate<? super T>
java·开发语言·spring·stream
广东数字化转型8 分钟前
java jar 启动应用程序
开发语言·python
阿幸软件杂货间10 分钟前
阿幸课堂随机点名
android·开发语言·javascript
MaxHua11 分钟前
以 AI 之力重塑 Java 研发,解锁高效开发新范式
后端
Determined_man13 分钟前
多了这个@ResponseBody和没加有什么区别?
后端
八苦16 分钟前
VKProxy新增一些功能
后端
threelab19 分钟前
three案例 Three.js波纹效果演示
开发语言·javascript·ecmascript
ApeAssistant22 分钟前
Log4j2.xml配置总结,就这个标题就挺好
后端·apache log4j
WanderInk32 分钟前
揭秘Java协变返回类型:让你的API少一点强转,多一点优雅
java·后端