5.scala中的对象

版权申明:转载请注明出处。
文章来源:玄涧思库

1.单例对象

scala中没有静态类或者静态方法,都是通过object实现的,它表示某个类的单例对象。如object People是class People的单例对象。

2.伴生对象

java中有些类可能会既有静态方法又有实例方法,在scala中静态方法存在于对象中,也就意味中scala中需要有这么一个东西,它既是类,也含有对象。其中的对象就是类的伴生对象,同样的,类就是对象的伴生类。需要注意的是类和它的伴生对象可以相互访问私有属性,它们也必须存在于同一个源文件中。如:

 class People{
  private val name:String = ""
    def run()={
    ……
    }
 }

 object Peole{
  private var age:Int
    def age(){
    this.age += 1
    }
 }
 ```
### 3.apply方法
调用apply方法其实是调用的类对应的伴生对象的apply方法,apply方法类似于使用构造器,但是在嵌套结构中使用apply方法能省去使用new。Array("marry","alice")其实是调用了Array类对应的伴生对象的apply方法。看一个实例:
```scala
 class Peopel(salary:Int){
    ……
 }

 object People{
  def apply(salary:Int):People= {
        new People(salary)
    }
 }

 val p = People(100) //此处调用了伴生对象的apply方法

4.枚举

scala中没有枚举类型,实现方式是通过Enumeration产出枚举。比如:

 object ColorEnum extends Enumeration {
  val Red,Green,Yellow = Value //调用了Value方法生成三个枚举值
    /*相当于
    val Red = Value
    val Green = Value
    val Yellow = Value
    */
 }

更多文章请关注微信公众号:bigdataer

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇