淺談Scala的Class、Object和Apply()方法
Scala中如果一個Class和一個Object同名,則稱Class是Object的伴生類。Scala沒有Java的Static修飾符,Object下的成員和方法都是靜態(tài)的,類似于Java里面加了Static修飾符的成員和方法。Class和Object都可以定義自己的Apply()方法,類名()調(diào)用Object下的Apply()方法,變量名()調(diào)用Class下的Apply()方法。
class ApplyTest{ def apply() { println("This is a class, apply()...") } } object ApplyTest{ def apply() = { println("This is an object, apply()...") new ApplyTest() } } object ApplyExample { def main(args: Array[String]) { var at=ApplyTest() at() } }
運行結果:
分析:
var at=ApplyTest()
這是類名(),調(diào)用的是Object下的Apply()方法,由于此時并沒有創(chuàng)建類的對象,所以也只能調(diào)用Object下的靜態(tài)方法。
new ApplyTest()
創(chuàng)建了一個類的對象,并且返回給了變量at。
at()
這是變量名(),顯然調(diào)用的是Class的Apply()方法。
以上這篇淺談Scala的Class、Object和Apply()方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。
您可能感興趣的文章
- 01-11php下關于Cannot use a scalar value as an array的解決辦法
- 01-11PHP警告Cannot use a scalar value as an array的解決方法
- 01-11Windows7下安裝Scala 2.9.2教程
- 01-11深入理解Scala函數(shù)式編程過程
- 01-11Scala基礎簡介及代碼示例
- 01-11Scala安裝及環(huán)境圖文配置教程
- 01-11利用Gradle如何構建scala多模塊工程的步驟詳解
- 01-11linux下搭建scala環(huán)境并寫個簡單的scala程序
- 01-11Scala的文件讀寫操作與正則表達式
- 01-11詳解如何使用Spark和Scala分析Apache訪問日志


閱讀排行
本欄相關
- 01-11php下關于Cannot use a scalar value as an ar
- 01-11PHP警告Cannot use a scalar value as an array的
- 01-11Windows7下安裝Scala 2.9.2教程
- 01-11淺談Scala的Class、Object和Apply()方法
- 01-11深入理解Scala函數(shù)式編程過程
- 01-11Scala基礎簡介及代碼示例
- 01-11Scala安裝及環(huán)境圖文配置教程
- 01-11linux下搭建scala環(huán)境并寫個簡單的sca
- 01-11利用Gradle如何構建scala多模塊工程的步
- 01-11Scala的文件讀寫操作與正則表達式
隨機閱讀
- 01-11ajax實現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10C#中split用法實例總結
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 04-02jquery與jsp,用jquery