「大数据」(九十二)Scala之辅助构造器

【导读:数据是二十一世纪的石油,蕴含巨大价值,这是·情报通·大数据技术系列第[92]篇文章,欢迎阅读和收藏】

1 基本概念

和 Java 和 C++ 一样,在 Scala 中可以有任意多的构造器。如果不指定主构造函数,编译器将创建一个主构造函数的构造函数 , 称之为主构造器。除了主构造器之外,还可以创建任意多个辅助构造器。

2 术语解释

构造器:负责类中成员变量的初始化,在创建对象时执行,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。

「大数据」(九十二)Scala之辅助构造器

3 详细说明

需要注意的是:

(1) 辅助构造函数名必须是 this ,而且必须直接或者间接的调用主构造函数实现参数的传递,当调用其他构造函数时,要将其放在构造函数中的第一行;

(2) 每一个辅助构造器都必须以一个对先前已定义的其他辅助辅助构造器或者主构造器的调用开始。

<code>class Person {
private var name = ""
private var age = 0
// 一个辅助构造
def this (name:String) {
this()// 调用主构造
this.name = name
}
// 另一个辅助
def this (name:String,age:Int){
// 调用另一个辅助构造
this(name)
this.age = age
}
}
// 调用:
object Demo extends App{
val p1 = new Person("Bob",21)
val p2 = new Person("Jack")
val p3 = new Person
}/<code>

请注意:辅助构造器一定会直接或间接调用主构造器;并且辅助构造器是以 this 开头。


分享到:


相關文章: