Jaka jest różnica między wywołaniem i wykonaniem metody? Czy dwie to samo?Java - Metoda Wywołanie i wykonanie
Odpowiedz
Nie sądzę, że są to standardowe warunki. Jednak rozumiem je w następujący sposób:
- inwokacja jest zdarzenie wystawienia wywołanie metody; technicznie - umieszczenie metody na stosie
- to cały proces uruchamiania metody - od wywołania do zakończenia. I czas wykonania jest okresem, w którym działa ciało metody.
Cóż, wywołanie metody oznacza wywołanie jej przez nazwę i parametry; wykonanie metody oznacza wykonanie jej ... uruchomienie, pobranie linii po linii i uruchomienie.
Istnieją pewne nieznaczne różnice:
- kontekstu
- kontekście wywołanie jest związany z wywołującego
- np parametry których używasz do wywołania metody są rzeczywiste parametry
- kontekście wykonanie jest związane z odbierającym
- np parametry których używasz w realizacji metody są parametry formalne
- kontekście wywołanie jest związany z wywołującego
- Dynamiczny wysyłka
- Sposób invokation może prowadzić do realizacji jednego z wielu metod
- Metoda wykonywania jest dokładnie jeden wykonywania metoda
- Order: inwokacja poprzedza egzekucja
- Inwokacja metody nie od razu rozpocząć jego wykonanie
- Wyobraź sobie, jeśli metoda jest odległa
- Inwokacja awaria może być spowodowana przez złamaną połączenia, błąd w obsłudze argumenty nad drutu, itp
- Sposób rozpoczyna się wykonywanie tylko po wywołaniu jest udany
- Inwokacja metody nie od razu rozpocząć jego wykonanie
See także: Overview of Remote Method Invocation. Gdy rozważasz, że metoda jest odległa, różnica między wywołaniem (żądanie uruchomienia wykonania czegoś) a wykonaniem (coś, co dzieje się gdzieś, jeśli żądanie się powiedzie) staje się bardziej widoczna.
Rozważ również przypadek z refleksją. Jest to metoda java.lang.reflect.Method
:
public Object invoke(Object obj, Object... args) throws
IllegalAccessException, // failure during invocation
IllegalArgumentException, // failure during invocation
InvocationTargetException // invocation was successful,
// but exception was thrown during execution
Tu również wyraźnie inwokacja i wykonanie to dwie różne rzeczy. Jeśli potrzebujesz bardziej przekonujące, rozważmy przypadek inwokacji vs wykonanie NullPointerException
w tym kontekście refleksji:
- Może być rzucony podczas inwokacji, gdy
obj == null
gdy metoda jest metodą instancji - Może być rzucony podczas wykonanie, w którym to przypadku zostanie owinięty jak przyczynę danego
InvocationTargetException
nie jestem świadomy żadnej standardowej definicji tych, ale moje rozumienie jest takie:
- inwokacja to akt wywołanie metody
- egzekucja jest aktem faktycznie uruchamiania metody
wyniki inwokacji w realizacji.
ile moja wiedza jest problemem:
Inwokacja jest pre-krok do wykonania. Jeśli wezwanie się powiedzie, to proces realizacji rozpoczyna ...
Na przykład
parametry (zmienne zadeklarowane w sygnaturze metody) zostaną utworzone tylko w metodzie invocation.It jest pre-krok do realizacji . Po wywołaniu zostanie wykonana rzeczywista metoda, tzn. Zmienne lokalne (zmienne zadeklarowane w treści metody) zostaną utworzone podczas wykonywania metody.
więc parametry są w invocating i zmienne lokalne są w wykonaniu ...
Zatem skuteczne wezwanie prowadzi przystąpić do realizacji.
Chcę usunąć ten punkt ** zmienne lokalne (zmienne, które są zadeklarowane w treści metody) zostaną utworzone podczas wykonywania metody **, zmienne są zadeklarowane podczas fazy kompilacji kodu, a wykonanie nastąpi tylko w Przypadek wywołania funkcji. – LeoAref
- 1. metoda .NET Siła odroczyć wykonanie
- 2. Wywołanie klasy bazowej metoda
- 3. Generics java i metoda addAll
- 4. Java metoda przeciążenie - dwuznaczność
- 5. Metoda limitu czasu w java
- 6. Wywołanie funkcji MongoDB z Java
- 7. Wywołanie BPEL z Java
- 8. Związane błąd niedopasowania i java rodzajowy metoda
- 9. Dłuższe wykonanie przez powłokę Java niż konsola?
- 10. Java: klon naruszenie metoda
- 11. Pożarowe wywołanie zwrotne po asynchronizacji Metoda zadania
- 12. jak domyślne jest wykonanie w java dla String?
- 13. rJava - .jcall wywołanie wydania: metoda z podpisem nie znaleziono
- 14. Wykonanie NSIS stron i sekcji
- 15. Wywołanie serwletu java z javascript
- 16. Wywołanie DeleteLocalRef w macierzystym interfejsie java
- 17. Niepoprawna metoda HTTP: PATCH> wykonanie PATCH: Spowodowane przez: feign.RetryableException:
- 18. Metoda pomijania() w IO java?
- 19. Java 8 Boolean.logical lub metoda
- 20. Metoda Java isLetterOrDigit(), isDigit(), isLetter()
- 21. Java rodzajowe typu metoda odlewania
- 22. Java: Metoda nie powraca. (XComponent.dispose
- 23. Implementacja UDF java i wywołanie go z pyspark
- 24. Java: Ogólna metoda dla Enums
- 25. zapewnienie jedna metoda jest wywołanie stosu zawsze zawiera inną metodę w Java
- 26. Metoda ArrayList.toArray() w języku Java
- 27. Java 8 domyślna metoda dziedziczenie
- 28. Metoda enum Java do Delphi
- 29. C# równoważne Java Arrays.fill() metoda
- 30. Java override Object equals() metoda
Czy masz dla nich referencje? Zwłaszcza definicje kontekstów. –