Scala类的继承,抽象类定义,接口定义
生活随笔
收集整理的這篇文章主要介紹了
Scala类的继承,抽象类定义,接口定义
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 繼承
1.1. 擴(kuò)展類(lèi)
在Scala中擴(kuò)展類(lèi)的方式和Java一樣都是使用extends關(guān)鍵字
1.2. 重寫(xiě)方法
在Scala中重寫(xiě)一個(gè)非抽象的方法必須使用override修飾符
1.3. 類(lèi)型檢查和轉(zhuǎn)換
| obj.isInstanceOf[C] | obj instanceof C |
| obj.asInstanceOf[C] | (C)obj |
| classOf[C] | C.class |
1.4. 超類(lèi)的構(gòu)造
package cn.toto.scala.day2/*** trait相當(dāng)于是Java8中的接口實(shí)現(xiàn)*/ trait Flyable {//這里不是抽象的,因?yàn)樗呀?jīng)實(shí)現(xiàn)了def fly() : Unit = {println("I can fly")}//這里相當(dāng)于是抽象類(lèi)def fight() : String }//定義一個(gè)抽象類(lèi) abstract class Animal {def run() : Intval name : String }//繼承類(lèi)使用extend,實(shí)現(xiàn)接口使用with class Human extends Animal with Flyable {val name = "abc"//在Scala中重寫(xiě)一個(gè)非抽象方法必須用override修飾override def fight(): String = {"fight"}//在子類(lèi)中重寫(xiě)超類(lèi)的抽象方法時(shí),不需要使用override關(guān)鍵字,寫(xiě)了也可以def run(): Int = {1}//打印幾次"AVC"val t1,t2,(a,b,c) = {println("ABC")(1,2,3)} }總結(jié)
以上是生活随笔為你收集整理的Scala类的继承,抽象类定义,接口定义的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Melrose椰子油是如何生产的?
- 下一篇: Scala模式匹配,case 字符串,c