scala继承、单例对象与特质

本文介绍了Scala中的继承特性,包括动态绑定、重写规则以及单继承的特点。深入讲解了单例对象,即伴生对象的声明和应用,特别是apply方法的使用。最后探讨了Scala的特质,作为接口的替代品,支持混入多个特质,并能包含具体实现,增强了代码的复用性和灵活性。
摘要由CSDN通过智能技术生成

继承

  1. Scala 中属性和方法都是动态绑定,而 Java 中只有方法为动态绑定。
  2. 重写非抽象方法需要用override修饰,重写抽象方法则可以不用加override。
  3. scala 是单继承
  4. 子类对抽象属性进行实现,父类抽象属性可以用var修饰;子类对非抽象属性重写,父类非抽象属性只支持val类型,不支持var。因为var修饰的为可变变量,子类继承后就可以直接使用,没有必要重写。

单例对象(伴生对象)

Scala语言是完全面向对象的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。但是为了能够和Java语言交互(因为Java中有静态概念),就产生了一种特殊的对象来模拟类对象,该对象为单例对象。若单例对象名与类名一致,则称该单例对象这个类的伴生对象,这个类的所有“静态”内容都可以放置在它的伴生对象中声明。
(1)单例对象采用 object 关键字声明
(2)单例对象对应的类称之为伴生类,伴生对象的名称应该和伴生类名一致。
(3)单例对象中的属性和方法都可以通过伴生对象名(类名)直接调用访问

apply方法

(1)通过伴生对象的 apply 方法,实现不使用 new 方法创建对象。
(2)如果想让主构造器变成私有的,可以在()之前加上 private。
(3)apply 方法可以重载。
(4)Scala

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值