网站权重一直做不上去,安吉网站制作,营销型网站制作的方法,17做网店这个网站做起多少钱在创建对象的时候#xff0c;需要调用类的构造器。Scala 提供了主构造器和辅助构造器。
1 主构造器
与 Java 一样#xff0c;如果我们没有特别定义#xff0c;那么 Scala 提供的默认构造器是没有参数的。
我们可以在类名后#xff0c;指定构造器的参数列表#xff0c;列…在创建对象的时候需要调用类的构造器。Scala 提供了主构造器和辅助构造器。
1 主构造器
与 Java 一样如果我们没有特别定义那么 Scala 提供的默认构造器是没有参数的。
我们可以在类名后指定构造器的参数列表列表里的参数将成为类的成员属性这样的构造器叫做主构造器。定义的语法如下
class 类名(var/val 参数名: 参数类型 默认值, var/val 参数名: 参数类型 默认值 ...) {// 构造器代码
}下面的例子中我们在主构造器中定义了 name, age, club 三个参数
class FootballPlayer(name: String, age: Int 20, club: String FIFA) {var price: Double 100_0000def hello(): String {s${this.name} is in ${this.club}, ${this.age} years old. Pay ${this.price} dollar to purchase him.}
}object App {def main(args: Array[String]): Unit {val footBallPlayer new FootballPlayer(Cristiano Ronaldo, 39, Al-Nassr FC)println(footBallPlayer.hello())}
}运行后控制台输出
Cristiano Ronaldo is in Al-Nassr FC, 39 years old. Pay 1000000.0 dollar if you want to purchase him.2 辅助构造器
如果需要使用多种方式创建对象可以使用辅助构造器。定义辅助构造器和定义方法类似通过关键字 def 定义不同的是这个方法的名称固定为 this语法如下
def this(参数名: 参数类型, 参数名: 参数类型, ...) {// 构造器代码
}例如
/*** 球员信息类** param name 球员姓名* param age 年龄* param club 所在俱乐部*/
class FootballPlayer(name: String, age: Int 20, club: String FIFA) {/*** 身价*/var price: Double 100_0000/*** 辅助构造器** param name 球员姓名* param age 年龄* param club 所在俱乐部* param price 身价*/def this(name: String, age: Int, club: String, price: Double) {// 调用主构造器this(name, age, club)this.price price}def hello(): String {s${this.name} is in ${this.club}, ${this.age} years old. Pay ${this.price} dollar to purchase him.}
}object App {def main(args: Array[String]): Unit {val footBallPlayer new FootballPlayer(Cristiano Ronaldo, 39, Al-Nassr FC, 1200_0000)println(footBallPlayer.hello())}
}