4、与Java的不同<o:p></o:p>
(1)通用<o:p></o:p>
l 在Groovy中,==等价于equals(),===意味着标识比较(等同Java中的==)<o:p></o:p>
l 在Java中==意味着原类型的相等和对象的标识比较,如a==b(a和b是指向相同对象的引用)<o:p></o:p>
l 传递闭包给方法或使用GroovyMarkup时,{要和方法的调用在同一行上,如:<o:p></o:p>
l 如果要将{放在独立于方法的一行上,要使用括号()<o:p></o:p>
l 下面的写法是无效的,会将闭包解释成独立的闭包,而不会将闭包作为方法的参数传递<o:p></o:p>
(2)应该意识到的事情<o:p></o:p>
l 语句后面的分号是可选的,但在同一行上有多个语句需要用分号分隔<o:p></o:p>
l return关键字可选<o:p></o:p>
l 可以在static方法内使用_this_关键字(何用?)<o:p></o:p>
l 缺省的修饰符是public<o:p></o:p>
l Groovy中的protected等价包的protected和Java的protected<o:p></o:p>
l 补充:方法调用时,括号是可选的<o:p></o:p>
(3)在Java中无效的Groovy新特性<o:p></o:p>
l 闭包<o:p></o:p>
l List和Map的本地语法<o:p></o:p>
l GroovyMarkup和Gpath的支持<o:p></o:p>
l 正则表达式的本地支持<o:p></o:p>
l 多形式的iteration和强大的switch语句<o:p></o:p>
l 动态和静态类型的支持<o:p></o:p>
l 在字符串中嵌入表达式<o:p></o:p>
l 增加了许多新的帮助方法<o:p></o:p>
l 在属性和添加事件侦听方面,简化了编写bean的语法<o:p></o:p>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=111585