<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                * 類 ~~~ class People{ //_是占位符,是默認值 var name:String = _ val age:Int =10 //private[this] 表示只能在本類使用 private [this] val gender = "male" def printInfo()={ println("gender:"+gender) } def eat():String = { name+"eat..." } def watchBall(team:String)={ println(name+" look: "+team); } } ~~~ * 構造器 ~~~ //主構造器 class Person(val name:String,val age:Int){ println("enter") val school = "ustc" var gender:String = _ //附屬構造器 def this(name:String,age:Int,gender:String)={ //附屬構造器第一行必須調用主構造器或者其他構造器 this(name,age); this.gender = gender; } println("leave") } val person = new Person("zhangsan",30) println(person.name+":"+person.age+":"+person.school) val person2 = new Person("Bizz",30,"男") println(person2.name+":"+person2.age+":"+person2.school+":"+person2.gender) ~~~ * 繼承 ~~~ //如果父類有的屬性,不用價var,沒有的一定要加 class Student(name:String,age:Int,var major:String) extends Person(name, age){ println("senter") println("sleave") } ~~~ * 重寫 ~~~ class Student(name:String,age:Int,var major:String) extends Person(name, age){ println("senter") //重寫父類的屬性和方法,要使用override關鍵字 override val school = "peking" override def toString: String = { "my tostring" } println("sleave") } ~~~ * 抽象類 ~~~ abstract class Person{ def speak val name:String val age:Int } class Teacher extends Person{ override def speak: Unit = println("say sth") override val name: String = "Bizz" override val age: Int = 28 } ~~~ * 伴生類和伴生對象 ~~~ //伴生類 class ApplyTest{ def apply(): ApplyTest = { println("class apply") new ApplyTest() } } //同名的class和object互為伴生 //伴生對象 //object是一個單例對象 object ApplyTest{ var count =0; def incr = { count = count+1 } def apply() = { println("obj apply") new ApplyTest() } //會調用對象的apply val b = ApplyTest() val c = new ApplyTest() //會調用類的apply c() /*類名()==>obj.apply * 對象()==>class.apply * * */ ~~~ * case Class ~~~ object CaseClassApp{ def main(args: Array[String]): Unit = { println(Dog("小雨").name) } } //case class 不用new //通常用在模式匹配 case class Dog(name:String) ~~~ * trait (相當于接口)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看