美文网首页
scala学习笔记-构造函数

scala学习笔记-构造函数

作者: cclucc | 来源:发表于2019-11-15 19:47 被阅读0次

scala的构造函数分为主构造函数和辅助构造函数

【辅助构造函数】比较容易理解,它们同C++和Java的构造函数十分类似,只有两处不同:

1、辅助构造函数的名称为this,这主要是考虑到在C++和Java中,构造函数名与类名同名,当更改类名时需要同时修改构造函数名,因此使用this为构造函数名使程序可靠性更强;

2、每一个辅助构造函数都必须以一个对先前已定义的其他辅助构造函数或主构造函数的调用开始。如:

class Time {

private var hr = 0

private var min = 0



def this (hr : Int) {

    this ()    //调用主构造函数

    this.hr = hr

}

def this (hr : Int, min : Int) {

    this (hr)    //调用辅助构造函数

    this.min = min

}

}

//可以以以下三种方式构造对象:

val t1 = new Time

val t2 = new Time(16)

val t3 = new Time(16, 27)
【主构造函数】在Scala中,每个类都有主构造函数。主构造函数并不以this方法定义,而是和类的定义交织在一起。 一个Scala类的主构造函数是以下的组合:

1、构造函数参数;

2、在类内部被调的方法;

3、在类内部执行的语句和表达式。

class Person (var firstName : String, var lastName : String) { //构造函数参数

println("the constructor begins")

var age = 0

override def toString = s"firstNamelastName is $age years old"

def printFullName {print(this)}

printFullName //被调的方法

println("still in the constructor")

}
如果类名之后没有参数,则该类具备一个无参主构造函数,这样一个构造函数仅仅是简单地执行类体中的所有语句而已。

//Scala默认主构造函数示例

class Student{

println("Hello from default constructor");  

}
//Scala主构造函数示例

class Student(id:Int, name:String){

def showDetails(){  

    println(id+" "+name);  

}  

}

相关文章

  • scala学习笔记-构造函数

    scala的构造函数分为主构造函数和辅助构造函数 【辅助构造函数】比较容易理解,它们同C++和Java的构造函数十...

  • Scala笔记

    Scala基础 学习twitter的scala教程的笔记 函数 函数定义,scala语法中可以使用多种方式定义函数...

  • 《Scala 程序设计》学习笔记 说明

    本笔记是我在学习完 Scala 语法后,重学 Scala 时记录的。笔记中的内容侧重 Scala 和 函数式语言的...

  • scala学习笔记-函数

    待续

  • Spark(九)Spark源码阅读之Scala构造器

    一、主构造器 组成Scala类的主要构造函数是以下的组合: 1、构造函数参数2、在类的主体中调用的方法3、语句和表...

  • Scala 学习笔记

    Scala 学习笔记 1.函数式编程 函数式编程:函数式编程把函数当作一等公民,充分利用函数,支持函数的多种使用方...

  • Scala集合

    附上Effective Scala:Effective Scala学习笔记摘抄于Twitter scala文档:T...

  • Scala相关文章索引(2)

    基本常识 scala编程第17章学习笔记(1)——集合类型 scala Map类型笔记 scala代码风格指南--...

  • Scala-8.面向对象-构造函数

    Scala类的主构造函数是以下组合: 构造函数参数 在类内部被调用的方法 在类内部执行的语句和表达式和Java类似...

  • 第二十五天(4月15日)

    1 学习时间 今天早上学习1.3个小时 2 学习内容 学习scala类的构造器,以及构造方法重载 3 学习总...

网友评论

      本文标题:scala学习笔记-构造函数

      本文链接:https://www.haomeiwen.com/subject/fwnkuctx.html