• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

... void main(String[] args) vs ...void main(final String[] params)

Object Storage Arubacloud
+1 głos
460 wizyt
pytanie zadane 16 lutego 2019 w Java przez Potopiec Obywatel (1,550 p.)
Witajcie forumowicze. Jaka jest różnica miedzy: "public static void main(String[] args)" a "public static void main(final String[] params)" w java ??

 

pozdrawiam
1
komentarz 16 lutego 2019 przez DarthMazut Bywalec (2,990 p.)
Nie piszę na codzień w Javie, ale prawdopodobnie słowo kluczowe "final" służy temu, aby nie nadpisać argumentów z którymi uruchomiono aplikację później w trakcie jej działania.

1 odpowiedź

+2 głosów
odpowiedź 16 lutego 2019 przez Asertywny Mądrala (5,430 p.)
wybrane 16 lutego 2019 przez Potopiec
 
Najlepsza
Pierwsza sprawa - nie ma nic specjalnego w nazwach "args" czy "params", możesz nazwać to w dowolny sposób, jaki Ci pasuje. Ważne jest, żeby funkcja main przyjmowała parametr typu String[].

Słówko final oznacza, że zmienna, przed którą występuje, nie może zostać zmieniona, w skrócie, nie można przypisać jej innej wartości. W pierwszym przypadku, wewnątrz funkcji main możesz przypisać zmiennej args[] inną wartość (nie mam pojęcia, dlaczego miałbyś to robić), a w drugiej - będzie to niemożliwe.

W skrócie - nie ma sensu pisać tego final, nie potrafię wymyślić racjonalnego powodu, dla którego miałbyś nadpisywać args.
1
komentarz 16 lutego 2019 przez mbabane Szeryf (79,280 p.)

Dopuszczalne jest jeszcze:

public static void main (String... args) {}
1
komentarz 16 lutego 2019 przez Potopiec Obywatel (1,550 p.)
edycja 16 lutego 2019 przez Potopiec
Dzięki Królu złoty. Przykład (... main(final String[] params)) wziąłem z pierwszego rozdziału książki o testowaniu jednostkowym za pomocą JUnit. Powinienem wiedzieć z tym param i args to tylko nazwy ale chyba spanikowałem widząc tam coś innego niż przywykłem. Jeszcze raz dzięki.
1
komentarz 16 lutego 2019 przez mbabane Szeryf (79,280 p.)

 nie ma sensu pisać tego final, nie potrafię wymyślić racjonalnego powodu, dla którego miałbyś nadpisywać args

Być może właśnie dlatego można zastosować final jako informacja dla innego programisty, że modyfikacja tego może coś zepsuć.

Podobne pytania

0 głosów
3 odpowiedzi 458 wizyt
pytanie zadane 29 grudnia 2020 w C i C++ przez Sabax Nowicjusz (160 p.)
0 głosów
3 odpowiedzi 3,406 wizyt
pytanie zadane 6 stycznia 2017 w C i C++ przez Marchewka900 Bywalec (2,970 p.)
0 głosów
0 odpowiedzi 78 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...