Po przeczytaniu odpowiedzi gnat jest do Dlaczego statyczną metodą Głównym w Java i C #, a nie konstruktor? Uważam, że jego odpowiedź oznacza, że celem klasy Java ze statyczną metodą główną jest to, define a program entry point
że nie jest to sam program.
Może być lepszy sposób, aby to zrobić, ale zazwyczaj mam klasę ze statyczną metodą główną, aby wykonać coś takiego prostego:
public class MenuLauncher
{
public static void main(String[] args) {
Menu menu = new Menu();
menu.run();
}
}
Czy powyższy kod byłby najlepszą praktyką dla OOP, gdzie klasa ze statycznym main nie robi nic więcej niż logikę programu uruchomioną lub uruchomioną zawartą w oddzielnym niestatycznym obiekcie; przecież main jest statyczna, więc czy sama klasa MenuLauncher nie byłaby bardzo ograniczona? Ponieważ main jest punktem wyjścia, nie widzę żadnego innego celu dla klasy poza byciem punktem wejścia.
Czy istnieje konwencja nazewnictwa Java powszechnie stosowana dla klas, które zawierają główną metodę i służą jako punkt wejścia programu?
źródło
Program
.Main
i zwykle ma mniej niż 20 linii (z odrobiną wyjątków i analizowania parametrów).Odpowiedzi:
Nie, nie ma w tym celu powszechnie używanych konwencji nazewnictwa. Przykłady widziałem to
Main
,Application
,XLauncher
lubX
, gdzie X to nazwa projektu / aplikacji.I tak, myślę, że dobrze jest, aby ta klasa zawierała tylko minimalną logikę / kod niezbędny do skonfigurowania aplikacji i uruchomienia jej. Ale jestem pewien, że istnieje wiele Boskich Przedmiotów i Dużych Kul Błota z
main
metodą przyczepioną do wielotysięcznej potworności.źródło
Nazywani są Klasą Główną , niezależnie od tego, czy są nazywani Głównymi i czy robią niewiele, czy nie.
Zwykle mają logikę wymaganą do uruchomienia programu.
W aplikacjach CLI zwykle sprawdzają poprawność parametrów.
W aplikacji komputerowej otwierają menu główne, takie jak twoje, lub otwierają okno główne.
Jeśli czytasz pliki MANIFEST w pliku jar, okazuje się, że są one tak nazywane.
źródło