Scala中的this关键字

Scala这个关键字

Scala中的this关键字用于引用当前类的对象。使用this关键字,您可以访问类的成员,例如变量,方法,构造函数。

在Scala中,可以两种不同的方式使用this关键字

带(.)点运算符

Scala中点(.)运算符用于调用当前类的成员。数据成员和成员函数都可以使用点(.)运算符进行调用。

语法:

    this.member_name;

将调用与该类的当前对象关联的成员。您可以使用点(。)运算符调用任何关联的成员。

示例

class students 
{ 
	var name: String = ""
	var marks = 0
	
	def info(name:String, marks:Int ) 
	{ 
		this.name = name 
		this.marks = marks 
	} 
	def show() 
	{
		println("Student " + name + " has obtained " + marks + " marks " ) 
	} 
} 

object Myobject 
{ 
	def main(args: Array[String]) 
	{ 
		var s1 = new students() 
		s1.info("Kabir", 473) 
		s1.show()
	} 
}

输出结果

Student Kabir has obtained 473 marks

说明:

上面的代码用于通过点运算符显示this关键字的实现。在程序中,我们为学生命名,其中包含一些变量。在学生类的方法中,我们将this关键字与点运算符配合使用,以调用该类的数据成员。

使用 this()

在Scala编程语言中,可以使用this关键字调用构造函数。this关键字用于创建辅助构造函数和Scala。对于辅助构造函数,该构造函数的第一行应为对另一个构造函数的调用,以确保无错误运行。

语法:

    this(){

    }

在这里,this关键字用于定义类的构造函数。创建的构造函数是一个辅助构造函数,需要在其调用中调用另一个辅助构造函数或主构造函数。

示例

class students 
{ 
	var name: String = ""
	var marks = 0
	
	def this(name:String, marks:Int ) 
	{ 
		this();
		this.name = name 
		this.marks = marks 
	} 
	def show() 
	{
		println("Student " + name + " has obtained " + marks + " marks " ) 
	} 
} 

object Myobject 
{ 
	def main(args: Array[String]) 
	{ 
		var s1 = new students("Kabir", 473) 
		s1.show()
	} 
}

输出结果

Student Kabir has obtained 473 marks