Który zapis bardziej akceptowalny?

0

Cześć!
Mam pytanie, który zapis jest lepszy i akceptowalny w Javie?

1

void metoda(){
   System.out.println("cokolwiek");
}
/** i potem w klasie Main **/
klasa.metoda();

2

String metoda(){
   String s = "cokolwiek";
   return s;
}
/** i potem w klasie Main **/
System.out.println(klasa.metoda());

Z góry dzięki za podpowiedź! :)

2

Nie rozumiem pytania do końca. To są zupełnie dwie różne funkcje i robią co innego, więc jak ty je chcesz porównać? Niemniej im mniej skutków ubocznych tym lepiej, szczególnie jeśli to jest jakaś klasa "biznesowa". Wtedy dużo lepiej zwracać z niej wartość a wypisywanie czy zapisywanie do plików mieć w innym miejscu.

0

Po prostu muszę wyrzucić na konsolę napis który zwraca funkcja i nie wiem który sposób jest bardziej odpowiedni.

0

W hello world to nie ma znaczenia ;] W prawdziwej aplikacji raczej side effects tego typu wyrzuciłbyś poza klasy biznesowe (no chyba ze to logger).

0
Skromny Młot napisał(a):

Po prostu muszę wyrzucić na konsolę napis który zwraca funkcja

Ten warunek spełnia tylko sposób drugi. W pierwszym funkcja nic nie zwraca

0

No aplikacja nie "Hello World", ale wciąż dla Newbie.
Dzięki serdeczne! :)

1

Pierwszy jest bardziej elastyczny, ale i drugi nie musi koniecznie być zły, pod warunkiem, że jego nazwa w oczywisty sposób oznajmia, co będzie robił. Pierwszego używasz, kiedy jesteś bardziej pewny co do treści jaką chcesz wyświetlać niż do sposobu jej wyświetlania (tzn. zostawiasz sobie na przyszłość furtkę na modyfikacje na przykład w postaci logowania do pliku czy wyświetlania okienka z komunikatem), drugiego gdy jest na odwrót — tzn. chcesz mieć jakąś metodę konkretnie do wyświetlania na ekran (bo na przykład treść wyświetlana w taki sposób różni się od wyświetlanej w każdy inny), a być może istnieje szansa, że zmieni się treść.

EDYCJA:
Udało mi się zamienić pierwszy z drugim. Jest oczywiście na odwrót, jak spartanPAGE zauważył.

1 użytkowników online, w tym zalogowanych: 0, gości: 1