Im Folgenden haben wir basierend auf Java's Calling -Methoden sortiert und zusammengefasst und auch den zugehörigen Anrufcode getestet. Lassen Sie es uns unten lernen.
Es gibt drei Haupttypen von Java -Methoden:
Einer ist eine statische Methode
Diese Methode wird mit statischer Methode modifiziert, und diese Methode muss nicht an ein bestimmtes Objekt gebunden sein. Die zweite ist die gemeinsame Methode ohne statische Modifikation; Das dritte ist die Baumethode, die hauptsächlich zur Initialisierung der Klasse verwendet wird.
Eine statische Methode kann unter Verwendung eines definierten und instanziierten Objekts oder direkt mit dem Klassennamen aufgerufen werden.
Eine Instanzmethode muss unter Verwendung eines definierten und instanziierten Objekts aufgerufen werden.
Klasse A {// statische Methode können Sie es direkt mit dem Klassennamen aufrufen und den Methodennamen wie A.Sayhello () public static void Sayshello () {System.out.println ("Statische Methode erfolgreich ausgeben: Hallo"); } // Instanzmethode müssen Sie eine Instanz der Klasse erstellen, bevor Sie a = new a () aufrufen können. a.sayworld (); public void saysWorld () {System.out.println ("Instanzmethode erfolgreich: Welt"); }} öffentliche Klasse mydemo {public static void main (String [] args) {a = null; try {a.sayhello (); // Die statische Methode aufrufen} catch (nullPointerexception e) {System.out.println ("Eine Null -Zeiger -Ausnahme wurde beim Aufrufen der statischen Methode aufgetreten"); } try {a.sayworld (); // Die Instanzmethode aufrufen} catch (nullPointerexception e) {System.out.println ("Eine Null -Zeiger -Ausnahme ist beim Aufrufen der Instanzmethode aufgetreten"); }}} Testausgabe:
Statische Methode Ausgabe erfolgreich: Hallo
Eine Null -Zeiger -Ausnahme trat beim Aufrufen der Instanzmethode auf
Java ruft in der Klasse den Methodencode dynamisch auf
Verwenden Sie math.class.getDeclaredMethod ("sin", double.type); Sozug auf die angegebene Methode, wobei "Sin" den Namen der zugegriffenen Methode bedeutet, ist sin und doppelt. Typ bedeutet, dass der Typ des Eintragsparameters doppelt ist
import Java.lang.reflect.Method; public class dongtai {public static void main (String [] args) {try {System.out.println ("die statische Methode sin () der Mathematikklasse aufrufen"); Methode sin = math.class.getDeclaredMethod ("sin", double.type); Double sin1 = (doppelt) sin.invoke (NULL, New Integer (1)); System.out.println ("1's Sinuswert ist:" + sin1); System.out.println ("Rufen Sie die nicht statische Methode gleich () auf (), die String-Klasse aufruft"); Methode equals = string.class.getDeclaredMethod ("Equals", Object.class); Boolean mrsoft = (boolean) Equals.invoke (neue String ("morgen Technologie"), "Tomorrow Technology"); System.out.println ("ist die String Tomorrow -Technologie:" + Mrsoft); } catch (Ausnahme e) {e.printstacktrace (); }}}Das Ausgangsergebnis nach dem Laufen