好程序员大数据学习路线分享scala单列和伴生对象

  

好程序员大数据学习路线分享scala单列和伴生对象

  

scala单例   对象SingletonDemo {

  

def主要(args:数组[String]):单位={

  

val s=SessionFactory

  

println (s.getSession)

  

println (s.getSession.size)//.size得到几个会话对象

  

}   

}   SessionFactory {

对象   

println (“SessionFactory被执行了“)

  

  

//计数器

  

var=5

  

//存放会话对象的数组

  

=new ArrayBuffer val会话(Session) ()

  

, (i> 1) {

  

println(“虽然被执行了“)

  

会话。追加(新会话)

  

i -=1

  

}   

//获取会话对象

  

def getSession=会议

  

}   

类会话{

  

}   

伴生对象

  

单例对象包括伴生对象,类与伴生对象之间可以互相访问,即使被私人修饰的私有字段和属性

  

伴生对象首先是一个单例对象,单例对象用对象定义

  

在scala中,单例对象分两种

  

1。关联并未自动关联到特定类的单例对象,称为独立对象→独立对象

  

2。关联到一个类的单例对象,该单例对象与该类是同一个类名,称为伴生对象→伴星

  类companionObject {

  var id=

0

  

私人val name=皕haoxiaodan"

  

def printContent ()={

  

println(名字+ companionObject.Constant)

  

}   

}   对象companionObject {

  

私人val常数=?是我的goddess"。

  

def主要(args:数组[String]):单位={

  

val有限公司=new companionObject

  

co.id=8   

println (co.id)

  

println (co.name)

  

co.printContent ()//zhaoxiaodan

是我的女神   

}   

}   

申请和取消应用(通常在类的伴生对象中定义应用方法)

  

应用方法通常被称为注入方法,在类的伴生对象中做一个初始化操作

  

应用方法的参数列表不需要和主构造器列表统一

  

取消应用方法通常为提取方法,使用取消应用方法可以提取构造器中固定数量的对象和值

  

取消应用方法会返回一个选项,如果选项里有值的话,内部会有一个对一些象来封装这些值

  

类ApplyDemo (val name:字符串,val年龄:Int, val表面上:Int) {

  

}   对象ApplyDemo {

  

//注入方法

  

def应用(名称:字符串,年龄:Int): ApplyDemo={

  

新ApplyDemo(姓名、年龄、面值=https://www.yisu.com/zixun/80)//初始化

  

}   

//提取方法

  

(applyDemo: applyDemo):取消应用def选项[(字符串,Int, Int)]={

  

如果(applyDemo==null) {

  

没有   其他

} {

  

一些(applyDemo.name、applyDemo.age applyDemo.faceValue)

  

}   

}   

}   对象ApplyTest {

  

def主要(args:数组[String]):单位={

  

val applyDemo=applyDemo(“赵晓丹“,18)

  {

applyDemo匹配   

例ApplyDemo(“赵晓丹“,年龄,表面上)=祝辞println (s"名字:赵晓丹,年龄:年龄、美元阵线:faceValue"美元;)

  

_=比;println (“null")

  

}   

}   

}

好程序员大数据学习路线分享scala单列和伴生对象