WEB开发网
开发学院软件开发Java 实战 Groovy: Groovy 的腾飞 阅读

实战 Groovy: Groovy 的腾飞

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 清单 1. LavaLamp 的返回结果packagecom.vanward.groovyclassLavaLamp{@Propertymodel@PropertybaseColor@PropertyliquidColor@PropertylavaColor}llamp=newLavaLamp(


清单 1. LavaLamp 的返回结果
package com.vanward.groovy 
class LavaLamp{ 
 @Property model 
 @Property baseColor 
 @Property liquidColor 
 @Property lavaColor 
} 
llamp = new LavaLamp(model:1341, baseColor:"Black", 
 liquidColor:"Clear", lavaColor:"Green") 
println llamp.baseColor 
println "Lava Lamp model ${llamp.model}" 
myLamp = new LavaLamp() 
myLamp.baseColor = "Silver" 
myLamp.setLavaColor("Red") 
println "My Lamp has a ${myLamp.baseColor} base" 
println "My Lava is " + myLamp.getLavaColor() 

不是太坏,不是吗?

正如上面描述的,对于任何 变量,如果没有修饰符、@Property 关键字或者类型,则需要具有 def 关键字。例如,清单 2 的代码在 toString 方法中包含一个中间变量 numstr ,如果用 JSR 解析器运行此代码,则会造成一个错误:


清单 2. 不要忘记 def 关键字!
class Person { 
 @Property fname 
 @Property lname 
 @Property age 
 @Property address 
 @Property contactNumbers 
 String toString(){ 
  
  numstr = new StringBuffer() 
 
  if (contactNumbers != null){ 
  contactNumbers.each{ 
 numstr.append(it) 
 numstr.append(" ") 
  } 
  } 
  
  "first name: " + fname + " last name: " + lname + 
 " age: " + age + " address: " + address + 
 " contact numbers: " + numstr.toString() 
 } 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:实战 Groovy Groovy

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接