scala中的匿名子類實現

2021-09-18 03:39:22 字數 860 閱讀 5656

引入:當我們對乙個實現了抽象類的子類我們只需要呼叫一次的時候我們可以直接使用匿名類一.我們得明白如何宣告乙個抽象類,抽象方法,抽象屬性1.使用abstract來宣告乙個抽象類 

2.不對屬性進行初始化賦值,就是申明乙個抽象屬性

3.不寫方法體就是在宣告乙個抽象方法

二.我們得明白如何定義乙個匿名子類1.見下面**

2.值得注意的是 override可寫可不寫,以及抽象方法如果沒有宣告具體返回值,那麼子類實現的返回值型別自定義

三.**實現

package edu.lulu.oop.chapter6

// 實現scala中的匿名子類

// 引入:當我們對乙個實現了抽象類的子類我們只需要呼叫一次的時候我們可以直接使用匿名類

// 一.我們得明白如何宣告乙個抽象類,抽象方法,抽象屬性

//1.使用abstract來宣告乙個抽象類

//2.不對屬性進行初始化賦值,就是申明乙個抽象屬性

//3.不寫方法體就是在宣告乙個抽象方法

// 二.我們得明白如何定義乙個匿名子類

// 1.見下面**

// 2.值得注意的是 override可寫可不寫,以及抽象方法如果沒有宣告具體返回值,那麼子類實現的返回值型別自定義

object test08

override var name: string = "wanglulu"

}a.cry()

}}// 定義乙個抽象類

abstract class animal

抽象類的匿名子類

package test public class test override public void breath 是new了乙個物件,但不是new了乙個抽象類的物件,建立了乙個匿名 這個類沒有名 子類 是person的子類 物件,物件名為p method1 p 會呼叫物件重寫的方法,還涉及到了多...

scala中的隱式型別轉換的實現

scala語言中的隱式轉換是乙個十分強大的語言特性,主要可以起到兩個作用 一.自動進行某些資料型別的隱式轉換 string型別是不能自動轉換為int型別的,所以當給乙個int型別的變數或常量賦予string型別的值時編譯器將報錯。所以,一下語句是錯誤的。val x int 100 如果需要將乙個字串...

scala中的函式

在scala中定義函式,需要給出 函式名 引數 函式體。例如 def abs x double if x 0 x else x 如果有引數,必須要給出引數型別。如果函式不是遞迴的,返回值型別就可以不寫。scala編譯器自帶型別推導功能。如果函式體由多個表示式組成,可以用 塊的方式來組織,比如 def...