中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Scala中定義final成員

發布時間:2021-07-15 09:48:58 來源:億速云 閱讀:131 作者:chen 欄目:編程語言

本篇內容主要講解“如何在Scala中定義final成員”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何在Scala中定義final成員”吧!

設計一個繼承層級的某些時候,你想要確保成員不被子類重載。Scala里和Java里一樣,通過添加final修飾符給成員來做到。例如,你可以在ArrayElement的demo方法前放一個final修飾符,如代碼10.7中展示的那樣。

class ArrayElement extends Element {   final override def demo() {    println("ArrayElement's implementation invoked")   }  }

有了這個版本的ArrayElement,嘗試在它的子類,LineElement,重載demo方法,將編譯不過:

elem.scala:18: error: error overriding method demo  in class ArrayElement of type ()Unit;  method demo cannot override final member  override def demo() {  ?

你或許還多次想確保整個類都沒有子類。要做到這點只要簡單地通過在類的聲明上添加final修飾符把整個類聲明為final即可。如,代碼10.8展示了如何聲明ArrayElement為final:

final class ArrayElement extends Element {   override def demo() {    println("ArrayElement's implementation invoked")   }  }

代碼 10.8 聲明final類

有了這個版本的ArrayElement,任何定義子類的嘗試都將失敗:

elem.scala: 18: error: illegal inheritance from final class ArrayElement  class LineElement extends ArrayElement {  ?

我們現在將去掉final修飾符和demo方法,并回到早先實現的Element家族。我們將把我們本章剩余部分的注意力集中在完成布局庫的工作版本上。

到此,相信大家對“如何在Scala中定義final成員”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁国市| 景宁| 贞丰县| 大安市| 韩城市| 横山县| 肃北| 永和县| 报价| 禹城市| 沧州市| 和静县| 罗江县| 尚义县| 合江县| 大丰市| 宕昌县| 岳西县| 江川县| 阿拉善盟| 锦屏县| SHOW| 延寿县| 霞浦县| 尉犁县| 贵南县| 五台县| 利辛县| 南安市| 佳木斯市| 青岛市| 开封县| 三明市| 扬州市| 永和县| 金平| 呈贡县| 卫辉市| 铜山县| 秀山| 安乡县|