Scala this 关键字
关键字是一种语言中的词,用于表示一些预定义的操作或一些内部过程。当我们想为一个类引入当前对象时,我们使用this关键字。然后使用点运算符(.),我们可以通过 this 关键字引用实例变量、方法和构造函数。 this关键字也用于辅助构造函数。
让我们通过一些例子来理解这个关键字。
示例 #1:
Scala
// Scala program to illustrate this keyword
class Addition(i:Int)
{
// using this keyword
def this(i:Int, j:Int)
{
this(i)
println(i + " + " + j + " = " + { i + j })
}
}
// Creating object
object GFG
{
// Main method
def main(args:Array[String])
{
var add = new Addition(15, 12)
}
}
Scala
// Scala program to illustrate this keyword
class geeks
{
var Lname: String = ""
var Articles = 0
// Using this keyword
def this(Lname:String, Articles:Int )
{
this()
this.Lname = Lname
this.Articles = Articles
}
def show()
{
println("Language name " + Lname +
" published article " + Articles )
}
}
// Creating object
object GFG
{
// Main method
def main(args: Array[String])
{
var GeeksForGeeks = new geeks( "Scala", 105)
GeeksForGeeks.show()
}
}
输出:
15 + 12 = 27
在上面的示例中,定义了一个包含一个参数的类添加,并且在该类中,我们使用带有两个参数i和j的 this 关键字创建了一个方法。在此方法中,还调用了主构造函数(即 this(i))。示例 #2:
斯卡拉
// Scala program to illustrate this keyword
class geeks
{
var Lname: String = ""
var Articles = 0
// Using this keyword
def this(Lname:String, Articles:Int )
{
this()
this.Lname = Lname
this.Articles = Articles
}
def show()
{
println("Language name " + Lname +
" published article " + Articles )
}
}
// Creating object
object GFG
{
// Main method
def main(args: Array[String])
{
var GeeksForGeeks = new geeks( "Scala", 105)
GeeksForGeeks.show()
}
}
输出:
Language name Scala published article 105
如我们所见,在上面的示例中,使用 this 关键字定义的辅助构造函数和使用 this 关键字调用的主构造函数。实例变量(即 Lname、Articles)也使用dot(.) 运算符来引用。