资源描述:
《Java与Groovy的比较》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、通过与Java比较迅速掌握Groovy Groovy和Java的相同点有: 3+,4+,6+,8+,10+,12+,13,14,15,18+,20+,21,22,23,28+,29+,30+,31+,32+ +表示Groovy不但涵盖了Java的语法,而且还有增强部分 Groovy和Java的不同点有: 0,1,2,5,7,9,11,16,17,19,24,25,26,27 下面所列序号不分先后顺序: 0.在Groovy可以用def定义无类型的变量(定义变量方面def与JavaScript中的var相似),和返回值为无类型的方法,而在Java中没有def
2、 Groovy: classMan{ defname="山风小子" defintroduce(){ return"I'm$name"//return可以省略 } } 1.Java中的equals方法对应Groovy中的==,而Java中的==(判断是否引用同一对象)对应Groovy中的is方法 eg. Test1.java: publicclassTest{ publicstaticvoidmain(String[]args){ Stringname1="山风小子"; Stringname2=newString("山风小子"); //Gr
3、oovy中写为name1==name2 if(name1.equals(name2)){ System.out.println("equal"); }else{ System.out.println("notequal"); } //Groovy中写为name1.is(name2) if(name1==name2){ System.out.println("identical"); }else{ System.out.println("notidentical"); } } 与Test1.java相对应的 Test1.groovy: St
4、ringname1="山风小子"//你也可以这样写:defname1="山风小子"其中的def可以理解为JavaScript中定义变量的var Stringname2=newString("山风小子")//请注意Groovy的句尾的分号时可选的,即可要可不要,前提是一行代码一条语句 //Java中写为name1.equals(name2) if(name1==name2){ System.out.println("equal"); }else{ System.out.println("notequal"); } //Java中写为name1==name
5、2 if(name1.is(name2)){ System.out.println("identical"); }else{ System.out.println("notidentical"); } 2.Java中的数组定义int[]a={1,2,3};在Groovy写成int[]a=[1,2,3] 3.Java中的for循环for(inti=0;i6、ing } Groovy: for(inti=0;i7、urn"Hello,山风小子" } //或者 publicStringsayHello(){ "Hello,山风小子" } //或者 StringsayHello(){ "Hello,山风小子" } //或者 publicsayHello(){ "Hello,山风小子" } //或者 defsayHello(){ "Hello,山风小子" } 5.Java中的innerclass即内部类,在Groovy中用Closure实现(Closure是Java7正在考虑的一个特性,比innerclass在语义方面更完善)