zoukankan      html  css  js  c++  java
  • Scala学习笔记

    1 闭包

         var a = 3
         var addfun = (x:Int) => x + a
         var b = addfun(10)
         println(b)
    

      

    addfun 就是个和对象无关的函数,局部变量,使用方法和函数一样,但是好像不推荐这种写法。


    2 类的创建,简单使用
    abstract class BParent{
      def testoverride()
    }
    
    // 构造函数参数会自动生成类字段,如果不加val则为私有字段, 类外无法访问
    class B( val name : String, val age:Int) extends  BParent{
      var namebak:String=_ // 初始化
      val cname = "classname is B"
    
      // 附属构造器, C++ 重载构造函数
      def this(name: String, age: Int, namebak: String){
        this(name, age)
        println("call this " + name)
        this.namebak = namebak
      }
    
      def testoverride(): Unit ={
        println("my class name is B")
      }
    }
    
    class BSon(name: String, age: Int, addr: String) extends B(name, age){
      println("Bson is Create")
    
    
      override val cname = "classname is BSon"
    
      override def toString = "BSon toString "  + super.toString
    
      override  def testoverride(): Unit ={
        println("my class name is BSon")
      }
    }
    

      

      调用

    val b = new B("test", 32, "dd")
    println(b.name)
    println(b.namebak)
    println(b.toString)

    var bson = new BSon("bsonname", 1, "bsonaddr")
    println(bson.toString)
    println(bson.cname)
    bson.testoverride()

    4  

      

  • 相关阅读:
    数据同步
    闭包的内存泄漏解决办法
    No module named 'MySQLdb'
    pqi 更换pip 国内源
    BZOJ 1934 [Shoi2007]Vote 善意的投票
    BZOJ 2038 [2009国家集训队]小Z的袜子(hose)
    BZOJ 1002 [FJOI2007]轮状病毒
    BZOJ 3442 学习小组
    BZOJ 3261 最大异或和
    BZOJ 4029 [HEOI2015]定价
  • 原文地址:https://www.cnblogs.com/chengxin1982/p/4044284.html
Copyright © 2011-2022 走看看