码迷,mamicode.com
首页 > 移动开发 > 详细

普通的apply方法

时间:2015-08-01 18:56:01      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

技术分享函数调用方式是f(...)

   如果f不是函数,那么这种调用方法相当于执行f.apply(...)

技术分享如果f(...)=value 那么相当于调用f.update(...,value)
技术分享apply用于伴生对象,可以省略new
技术分享
技术分享注:f()运行时或者解释为函数调用,或者解释为apply()执行,解释为update()执行
 
 1 object Test3 extends App {
 2 
 3   class Person{
 4 
 5     var i=0;
 6     def apply()=Array(1,2,3,4).mkString(" and ");
 7   
 8     def update(args :Int*)={ i=100;}
 9     
10   }
11   
12   
13   var p=new Person();
14   println(p());
15   p()=4;//这种结构位于赋值语句的左边,相当于调用update方法
16   
17    println(p.i);
18   
19   
20   
21   
22   
23 }

 

普通的apply方法

标签:

原文地址:http://www.cnblogs.com/thinkpad/p/4694453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!