《scala函数式编程》伴生类与伴生对象

 XML Code 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

 

package com.lyzx.day06

/**
 * 如果在同一个文件中,object对象和class类的名称相同,则这个对象就是这个类的伴生对象,这个类就是这个对象的伴生类。可以互相访问私有变量。
 * 即class T1 是object T1的伴生类  反之为其伴生对象
 */
class T1 {
  private var name ="刑天";

  def myIntroduction(): Unit ={
    T1.introduction(name);
  }

  //匹配模式,不仅可以匹配值也可以匹配模式或者说类型,例如age:Int就是说如果age(参数age是Any类型)是一个整型值则匹配该项
  def myAgeMatch(age:Any):String ={
    age match{
      case 1  => "one"
      case 18 => "18岁"
      case 20 => "20岁了"
      case age:Int => "这是一个整型"
      case age:String => "这是一个字符串..."
      case _ =>"没有匹配项..."
    }
  }
}

//在伴生对象里面的方法和属性相当于java中的静态方法和属性
//可以在伴生类里面使用伴生对象的方法和属性
object T1{
  private var age = 18;

  def introduction(name:String): Unit ={
    println("my name is "+name+" ,i'm "+age+" years old");
  }

  def main(args: Array[String]) {
    val t1 = new T1()
    t1.myIntroduction()

    var description = t1.myAgeMatch(19);
    println(description)
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值