scala面向对象编程

object demo1 {
  def main(args: Array[String]): Unit = {
    //面向对象编程
    val Cat = new Cat()
    Cat.name = "小白"   //这个地方其实访问的是setter方法
    Cat.age = 23
    Cat.color = "白色"
  }

  //创建对象模板
  //说明:编译过后class只有一个文件并且类型是public    var没有给定修饰符的话默认编译后是private
  //同时一个属性对应两个方法   name()===>getter   name_$eq() ===>setter
  class Cat {
    //生明属性,给定默认值
    var name: String = ""
    var age: Int = _ //_代表给定默认值 0
    var color: String = _ //_代表给定默认值 ""
  }

}

查看底层生成的文件:

scala源文件中可以包含多个类,并且默认是public     不要加上修饰符public,如果加上的话会报错

 

object demo1 {
  def main(args: Array[String]): Unit = {
    //集合反转
    var list= List(1,"dfs",0.0)
    println(list.reverse)
//var range:Range=(0 to 4).range 也是一个集合
    println((0 to 4).reverse)

/*    /*@`inline`*/ final override def foreach[@specialized(Unit) U](f: Int => U): Unit = {
      // Implementation chosen on the basis of favorable microbenchmarks
      // Note--initialization catches step == 0 so we don't need to here
      if (!isEmpty) {
        var i = start
        while (true) {
          f(i)
          if (i == lastElement) return
          i += step
        }
      }
    }*/
    //foreach接收一个函数然后函数处理foreach 的结果
    range.foreach(println)

    //打印0-10
    for(item<- 0 to 10){
      println(item)
    }
//    //打印10-0
    for(i<- (0 to 10).reverse){
      println(i)
    }
  }
}
  for(i<-"a hello"){
      println(i)
      //打印字符的额unicode值
      println(i.toLong)
    }

练习

object demo1 {
  def main(args: Array[String]): Unit = {
    //定义一个变量
    var sum:Long=0
    //求和hello
    "hello".foreach(fsum)
    //定义一个函数
    def fsum(char: Char):Unit={
      sum+=char.toLong
    }
    println("第一次输出"+sum)


    //以上代码也可以写成
    "hello".foreach(sum+=_.toLong)
    println("第二次输出"+sum)
  }
}
//字符串方法
var s2:String= "hello".take(1)
  println(s2)   返回字符串的前n个字符串
  var s:String="hello".drop(1)
  println(s)   返回字符串舍掉前n个之后的字符串

如果一个变量为{}如下,他的返回值是()也就是unit 类似java中的void

object demo1 {
  def main(args: Array[String]): Unit = {
     var  r ={}
    println(r)
    println("此函数的返回值类型"+r.isInstanceOf[Unit])
  }
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值