Klasa składa się zasadniczo na polach i metodach. W Javie właściwości nazywane są pola. Metoda to grupa stwierdzeń kodowanych razem w celu wykonania zadania. Zwykle, aby użyć klasy w Javie, klasa musi zostać utworzona w obiekcie. Klasa to jednostka ogólna, z której można utworzyć obiekty. Instatowanie (tworzenie) obiekt nie jest tak naprawdę wielką sprawą. Jest to bardzo krótki proces, w którym pola klasy są podane wartości. Obiekty klasy różnią się od siebie, ponieważ mają różne wartości dla tych samych nazw pola. Metody wszystkich obiektów i klasy są takie same.
Metoda statyczna to metoda, której implementacja (definicja) w implementacji klasowej (definicja) zaczyna się od zarezerwowanego słowa, statyczne. Metoda statyczna nie potrzebuje obiektu w innym do wykonania. Z drugiej strony metoda nietatyczna potrzebuje obiektu w innym do wykonania - patrz szczegóły poniżej. W Javie posiadanie nietatycznej metody wykonuje metodę; Wykonanie metody statycznej wywołuje metodę. Metoda konstruktora (po prostu nazywana konstruktorem) jest również nazywana - patrz poniżej.
W tym artykule ilustruje, jak wywołać metodę niestatyczną i wywołać metodę statyczną.
Klasa i jej obiekty
Rozważ następującą implementację klasy:
klasa AclassNazwa klasy to Aclass. Ma jedno pole, STR, które dosłownie zawiera ciąg. Klasa ma dwie metody: metodę konstruktora i metodę zwracającą pustkę. Metoda konstruktora niczego nie zwraca, a jego nazwa jest taka sama jak nazwa klasy. Celem metody konstruktora jest zainicjowanie niektórych lub wszystkich pól o wartościach niezwiązanych. Ten konstruktor inicjuje pole, str, z wartością jego parametru (argument wysłany).
Metoda zainteresowania tej klasy nazywa się MTHD. Zwraca pustkę. Jego ciało drukuje wartość pola klasy. Jednak ten druk można wykonać w tym przypadku tylko wtedy, gdy obiekt został utworzony z klasy. I tak, to obiekt wykonałby drukowanie, w tym przypadku, za pomocą tej samej odpowiedniej metody.
Odpowiednia klasa główna dla powyższej klasy jest następująca:
Klasa publiczna THEClassKlasa główna ma metodę main (), która zawsze powinna tam być. W tej metodzie Main () pierwsze stwierdzenie tworzy obiekt o nazwie OBJ, z klasowej ACLASS. Używa operatora, nowego i nazwy konstruktora z danym argumentem „widzianym”. „Aclass („ See ”)” oznacza wywołanie konstruktora. Dzięki temu metoda konstruktora jest wykonywana w celu zainicjowania pola, STR z „widzianym”. Inne obiekty utworzone z tej samej klasy, ACLASS, zainicjują własne pola STR o różnych wartościach ciągów. Druga instrukcja, w metodzie Main (), wywołuje metodę, MTHD (), która teraz drukuje na wyjściu,
widzianymetoda statyczna
Poniższa implementacja klasy jest podobna do powyższej klasy, ale ta sama metoda zainteresowania została statyczna:
klasa AclassTym razem nie ma metody konstruktora; Nie ma potrzeby tego. Parametr metody konstruktora jest teraz parametrem metody zainteresowania. Metoda zainteresowania została statyczna poprzez poprzedzenie go zarezerwowanym słowem, statycznym, w implementacji metody (definicja).
Odpowiednią główną klasą dla powyższej klasy jest:
Klasa publiczna THEClassGłówna metoda tutaj ma tylko jedno stwierdzenie. To wyrażenie (instrukcja) nie utworzy instancji obiektu z klasy. Po prostu używa nazwy klasy, a następnie kropki, a następnie nazwy metody statycznej z jego argumentem „widzianym”. Wyjście z metody statycznej jest,
widzianyWyrażenie „Aclass.MTHD („widziany”) ”, wywołuje metodę statyczną, MTHD () i nie wywołuje jej. Wywoływana jest metoda nietatyczna, podczas gdy nazywana jest metoda statyczna. Metoda statyczna nie działa z instanowanym obiektem. Zwykle działa z klasą (nazwa).
Metoda statyczna w klasie głównej
Klasa główna nie jest utworzona. Metoda w głównej klasie musi być statyczna. Poniższy program ilustruje to:
Klasa publiczna THEClassMetoda zainteresowania jest oddzielona od metody Main (). Jego wdrożenie musi być poprzedzone zarezerwowanym słowem, statycznym. Metoda główna () jest również statyczna. Obie te metody statyczne są nazywane, ale nie wywoływane. Metoda zainteresowania jest wywoływana z wyrażeniem,
MTHD („widziany”);Nie ma poprzedniej kropki i obiektu lub klasy; ponieważ zarówno MTHD (), jak i main () są w tej samej implementacji klasy. Wyjście to:
widzianyWniosek
W C ++ wywoływany jest metoda (funkcja członka), a także wywoływana jest funkcja elementu statycznego. W Javie wywoływana jest metoda nietatyczna, podczas gdy nazywana jest metoda statyczna. Wielu programistów Java nie przejmuje się różnicą między Invoke a Call. Jednak ten czytelnik powinien być programistą Java z lepszym obrazem za pomocą słownictwa Java odpowiednio: wywoływana jest metoda nietatyczna, podczas gdy nazywana jest metoda statyczna. Ilustracje zostały wykonane powyżej. Każda metoda w klasie głównej musi być statyczna. Ta metoda jest wywoływana w klasie głównej bez jej poprzedzania, z kropką i obiektem lub klasą.