伴生对象
Scala语言是完全面向对象(万物皆对象)的语言,所以并没有静态的操作(即在Scala中没有静态的概念)。但是为了能够和Java语言交互,就产生了一种特殊的对象来模拟类对象,我们称之为类的伴生对象。这个类的所有静态类容都可以放置在它的伴生对象中声明和调用.
1.当在同一个文件中,有class ScalaPerson和 object ScalaPerson.
2.object ScalaPerson称为伴生类,将非静态的内容写入到该类中.
3.object ScalaPerson称为伴生对象,将静态的内容写入到该对象中.
4.class ScalaPerson编译后底层生成ScalaPerson.class.
5.object ScalaPerson编译后底层生成ScalaPerson$.class.
6.对于伴生对象中的内容,可以通过ScalaPerson.访问.
伴生类
class ScalaPerson {
val name: String = ""
}
*************************************************
伴生对象
object ScalaPerson {
var sex: Boolean = true
}
1.Scala中伴生对象采用object关键字声明,伴生对象中声明的全是”静态“内容,可以通过半生对象名直接调用.
2.伴生对象对应的类称之为半生类,伴生对象的名称应该和半生类名一致.
3.伴生对象中的属性和方法都可以通过伴生对象名直接访问.
4.伴生对象的声明应该和伴生类的声明在同一个源码文件中(如果不在同一个文件中会运行错误),但是如果没有伴生类,也就没有所谓的伴生对象了,所以放在哪里就无所谓了.