2014-06-07 23 views
7

Nie sądzę, że ma jakikolwiek wpływ na wyjściu programu, ale jakiej klasy należy umieścić metodęGdzie powinienem umieścić publiczną metodę statyczną void main (String [] args)?

public static void main(String[] args) { 
    //... 
} 

w moim programie? Czy lepszą formą jest stworzenie oddzielnej klasy lub umieszczenie jej w klasie, która robi coś innego? Jeśli powinienem umieścić ją w klasie, która robi coś innego, która? Czy to ma znaczenie? To naprawdę tylko konwencja. Zazwyczaj tworzę oddzielną klasę lub umieszczam ją w klasie, która zajmuje się gui, ale chciałbym wiedzieć, jak to zrobić.

+3

To zależy w dużym stopniu od tego, co robi Twój program, jak duży jest, jak jest wdrożony i nie tylko. Często używam klasy 'Launcher', ale na przykład w prostszym programie opartym na GUI, może być sens umieścić go w głównym oknie. – chrylis

+0

Wiesz, to dobre pytanie. To też zawsze mi przeszkadzało. –

+0

Właściwie to pytanie jest oparte głównie na opiniach lub zbyt szerokie. Niektórzy ludzie lubią tworzyć oddzielną klasę za pomocą tylko głównej metody, która jest OK, a niektórzy lubią umieszczać tę metodę w już istniejącej klasie, która ma również inny cel w aplikacji. Możliwym powodem umieszczenia 'main' w niektórych już istniejących klasach jest, jeśli chcesz, aby główna metoda miała dostęp do prywatnych metod tej klasy i nie powinieneś/nie możesz odtwarzać tej metody w jakiejś zewnętrznej klasie Lunchera. – Pshemo

Odpowiedz

3

Jeśli piszesz bardzo krótkie programy (na przykład proste algorytmy), może się wydawać, że wygodniej jest po prostu dodać swoją główną metodę do klasy zawierającej podstawową logikę programu. Jednak w przypadku większych projektów bardzo pomocne jest oddzielenie głównej metody od logiki biznesowej/dostępu do bazy danych/wszystkiego, co powinno działać jako enkapsulowana jednostka.

Główna metoda powinna dać Ci początek łańcucha, aby od samego początku można było łatwo śledzić przebieg pracy Twojego programu. Włączenie logiki (nawet prostej konwersji liczb/operacji na łańcuchach) w klasie zawierającej główną metodę może spowodować niepotrzebny chaos, spróbować oddzielić wszystko, czego naprawdę nie potrzebujesz i umieścić w klasach pomocniczych.

0

Właściwy sposób postępowania z tym zależy od zastosowania. Ale w większości przypadków lepiej jest mieć bardzo prosty i zrozumiały kod w swojej głównej metodzie, który odzwierciedla twoje zachowanie aplikacji w bardzo szerokim znaczeniu.

1

Podczas pisania programu z więcej niż jedną klasą, metoda main() powinna należeć do klasy z nazwą programu.

Jeśli nazwa programu jest temp.java i istnieją dwie klasy o nazwie temp i temp1 metoda main() powinny zostać zawarte w klasie. Oddzielna klasa nie jest wymagana