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