Гроови је опционо откуцани и динамички програмски језик за развој апликације на Јава платформи. Синтакса Гроови-а је слична Јави. Гроови је веома моћан, јак тип, динамички и статички програмски језик који проширује ЈДК. Проширујући ЈДК, може прихватити Јава код. Гроови се не користи само као програмски језик већ и као скриптни језик. Јава програми могу да раде у Гроови окружењу јер је гроови надскуп Јаве. Програми написани на другим програмским језицима осим на Јави могу или не морају бити могући за покретање у Гроови окружењу.
Гроови није базиран само на Јави, већ комбинује моћ других језика као нпр Питхон , Руби и Смаллталк. Са овим моћима, Гроови пружа више могућности од Јава .
Хајде да разумемо разлике између Гроови-а и Јаве:
Да не. | Фактор | Гроови | Јава |
---|---|---|---|
1. | Подразумевани увози | јава.ио.*, јава.ланг.*, јава.матх.БигДецимал, јава.нет.*, гроови.ланг.*, гроови.утил.*, јава.утил.* и јава.матх.БигИнтегер су неки класе опште намене и пакети који се подразумевано увозе. | Јава.ланг.* је једини пакет који се подразумевано увози у Јаву. |
2. | Кључне речи | У поређењу са Јавом, Гроови има три додатне кључне речи, тј. вешање, сахрањивање , и особина . | У Јави ово не можемо користити као кључну реч. |
3. | Модификатор приступа | Публиц је подразумевани модификатор приступа у Гроовију. | Пацкаге-привате је подразумевани модификатор приступа у Јави. |
4. | Геттер и сеттер | Гроови аутоматски генерише геттер и сеттер за чланове класе. | Јава не обезбеђује аутоматски геттер и сеттер за чланове класе. Дакле, морамо да дефинишемо методе геттер и сеттер за чланове класе. |
5. | Дот оператор | Гроови такође подржава тачкасти оператор, али за разлику од Јаве, позиви заправо пролазе кроз геттере и сеттере, који се аутоматски генеришу у Гроови-ју. | Оператор тачке се користи за приступ члановима класе. |
6. | Тачке и зарезе | За разлику од Јаве, тачка и зарез није потребна за коришћење. Користи се само за писање више од једне изјаве у једном реду. | У Јави, тачка-зарез је обавезан да се користи за изјаве. |
7. | За петљу | У поређењу са Јавом, декларација фор петље је много лакша. Петљу фор декларишемо на следећи начин: фор(ј ин 0..4){ принт ј } 0.упто(3){ одштампати '$ит' } 4 пута{ одштампати '$ит' } | У Јави, ми декларишемо фор петљу на следећи начин: фор(инт И = 0; И<= 5; i++){ Систем.оут.принтлн(и); }=> |
8. | Оператер безбедне навигације | Да бисмо избегли изузетак нултог показивача, не морамо да извршимо операцију да проверимо нулти објекат. | У Јави, морамо да извршимо операције да проверимо да ли је објекат нулл или не да бисмо избегли изузетке нулте показивача. |
9. | Употреба методе маин(). | У гроови-у, нема потребе да се дефинише маин() метод јер је он такође језик за скриптовање и увек постоји класа Сцрипт (класа омотача) за сваки програм. | У Јави, морамо да дефинишемо маин() метод за извршавање класе. |
10. | Боолеан евалуатион | У Гроовију, израз се аутоматски вреднује као Боолеан. | У Јави, израз се не процењује аутоматски као Боолеан. |
Једанаест. | Декларација низа | У гроови-ју користимо витичасте заграде('{}') за декларисање низа. Стринг[] тест1 = ['А', 'Б', 'Ц'] | У Јави користимо угласте заграде('{}') за декларисање низа. Стринг[] тест1 = ['А', 'Б', 'Ц'] |
12. | Бокс и распакивање | Не постоји концепт аутобоксовања и распакивања јер је овде све предмет. | Да би извршила боксовање и распакивање, Јава има примитивне типове података и концепт класе омотача. |
Дакле, Гроови је суперскуп Јава Јава, и можемо покренути Јава програме у Гроови окружењу. Гроови и Јава су слични, и оба имају неке мале разлике, које смо дефинисали горе.