更新时间:2022年06月17日18时34分 来源:传智教育 浏览次数:
无论是在Scala中还是Java中,类都是对象的抽象,而对象都是类的具体实例;类不占用内存,而对象占用存储空间。由于面向对象的核心是对象,若想要在应用程序中使用对象,就必须得先创建一个类。类是用于描述一组对象的共同特征和行为。
创建类的格式
class类名[参数列表]
创建对象的格式
类名对象名称=new类名0;
Scala和Java类似,只允许继承一个父类。Java只能继承父类中非私有的属性和方法,而Scala可以继承父类中的所有属性和方法。
在Scala子类继承父类的时候,有以下几点需要注意
如果子类要重写一个父类中的非抽象方法,则必须使用override关键字,否则会出现语法错误。
如果子类要重写父类中抽象方法时,则无需使用override关键字
Scala中提供了object这个关键字用来实现单例模式,使用关键字object创建的对象为单例对象。
在一介源文件中有一个类和一个单例对象,若单例对象名与类名相同,则把这个单例对象称作伴生对象(companion object),这个类则被称为是单例对象的伴生类(companion class)。
类和伴生对象之间可以相互访问私有的方法和字段。
在Scala中,Trait(特质)的功能类似于Java中的接口,但Trait的功能却比Java中的接口强大。例如,Trait可以对定义字段和方法进行实现,而接口却不能。Scala中的Trait可以被类和对象(Objects)使用关键字extends来继承。
创建特质的格式
trait traitName