Groovy je izborno tipizirani i dinamički programski jezik za razvoj aplikacija na Java platformi. Sintaksa Groovyja slična je Javi. Groovy je vrlo moćan, snažan, dinamičan i statički programski jezik koji proširuje JDK. Proširivanjem JDK-a, može prihvatiti Java kod. Groovy se ne koristi samo kao programski jezik već i kao skriptni jezik. Java programi mogu se izvoditi u Groovy okruženju jer je Groovy nadskup Jave. Programi napisani u drugim programskim jezicima osim Jave mogu se, ali i ne moraju, izvoditi u Groovy okruženju.
Groovy ne samo da se temelji na Javi, već također kombinira snagu drugih jezika kao što su Piton , Ruby i Smalltalk. S ovim ovlastima Groovy pruža više mogućnosti nego Java .
Razmotrimo razlike između Groovyja i Jave:
Da ne. | Faktor | Groovy | Java |
---|---|---|---|
1. | Zadani uvozi | Neki od njih su java.io.*, java.lang.*, java.math.BigDecimal, java.net.*, groovy.lang.*, groovy.util.*, java.util.* i java.math.BigInteger klase i paketi opće namjene koji se uvoze prema zadanim postavkama. | Java.lang.* je jedini paket koji se prema zadanim postavkama uvozi u Javu. |
2. | Ključne riječi | U usporedbi s Javom, Groovy ima tri dodatne ključne riječi, tj. vješanje, ukop , i osobina . | U Javi ovo ne možemo koristiti kao ključnu riječ. |
3. | Modifikator pristupa | Javnost je zadani modifikator pristupa u Groovyju. | Package-private je zadani modifikator pristupa u Javi. |
4. | Dobivač i postavljač | Groovy automatski generira getter i setter za članove klase. | Java ne pruža getter i setter automatski za članove klase. Dakle, moramo definirati getter i setter metode za članove klase. |
5. | Operator točka | Groovy također podržava dot operator, ali za razliku od Jave, pozivi zapravo prolaze kroz gettere i settere, koji se automatski generiraju u Groovyju. | Operator točka koristi se za pristup podacima članovima klase. |
6. | Točka-zarez | Za razliku od Jave, točka-zarez nije potreban za korištenje. Koristi se samo za pisanje više od jedne izjave u jednom redu. | U Javi je za izjave potrebno koristiti točku i zarez. |
7. | Za petlju | U usporedbi s Javom, deklaracija for petlje je puno lakša. Petlju for deklariramo na sljedeći način: for(j in 0..4){ ispis j } 0.upto(3){ ispis '$it' } 4 puta{ ispis '$it' } | U Javi deklariramo for petlju na sljedeći način: for(int I = 0; I<= 5; i++){ System.out.println(i); }=> |
8. | Operater sigurne plovidbe | Kako bismo izbjegli iznimku nultog pokazivača, ne moramo izvršiti operaciju za provjeru nultog objekta. | U Javi moramo izvršiti operacije da provjerimo je li objekt null ili nije kako bismo izbjegli iznimke null pokazivača. |
9. | Upotreba metode main(). | U groovyju nema potrebe definirati metodu main() jer je to također skriptni jezik i uvijek postoji Script class (Wrapping class) za svaki program. | U Javi moramo definirati metodu main() da bismo izvršili klasu. |
10. | Booleova evaluacija | U Groovyju se izraz automatski procjenjuje kao Boolean. | U Javi se izraz ne procjenjuje automatski kao Booleov. |
jedanaest. | Deklaracija niza | U groovyju koristimo vitičaste zagrade ('{}') za deklariranje niza. Niz[] test1 = ['A', 'B', 'C'] | U Javi koristimo uglate zagrade ('{}') za deklariranje niza. Niz[] test1 = ['A', 'B', 'C'] |
12. | Boxing i Unboxing | Ne postoji koncept autoboxinga i unboxinga jer je ovdje sve objekt. | Za obavljanje pakiranja i raspakiranja Java ima primitivne tipove podataka i koncept klase omotača. |
Dakle, Groovy je nadskup Java Jave i možemo pokretati Java programe u Groovy okruženju. Groovy i Java su slični i oba imaju neke male razlike, koje smo definirali gore.