scala学习笔记-伴生对象与伴生类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011890101/article/details/84939307

scala学习笔记-伴生对象与伴生类

伴生对象与伴生类的定义

  1. 在一个源文件中,如果出现object与class名称相同的情况,那么就可以将该object成为该class的伴生对象,该class则可以成为该object的伴生类。
  2. 当一个源文件中,只有object而没有对应的伴生类时,object被称之为Standalone Object-独立对象

使用伴生类或者伴生对象的apply方法

  1. 示例1
object Test {
	def main(args: Array[String]) {
		ApplyT()             
	}
}
class ApplyT {
	def apply() {
		print("into class apply")
	}
}
object ApplyT{
	def apply() {
		print("into object apply")
	}
}

用对象名(),会主动调用object中的apply方法(这是默认的,必须命名为apply),那么如何使用伴生类中的apply方法(伴生对象中的apply方法也是默认的,只能命名为apply)呢,我们知道object关键字在scala中是用来表示单例对象的,也就是说object ApplyT我们不需要new出来就可以直接使用,但是class与java中的class关键字是一致的,我们想要使用通过new关键字获取一个引用使用。
2. 示例2

object Test {
	def main(args: Array[String]) {
		val a = new ApplyT
		a()      
	}
}

调用伴生类中的apply方法,直接用引用名()即可。

应用-通过伴生对象apply获取伴生类实例

  1. 示例:
object Test {
	def main(args: Array[String]) {
		val a = Person("meepoguan",27)   
	}
}
class Person(val name:String,val age:Int)
object Person{
	def apply(name:String,age:Int) {
		new Person(name,age)
	}
}

猜你喜欢

转载自blog.csdn.net/u011890101/article/details/84939307
今日推荐