Heim >Java >javaLernprogramm >Detaillierte Erläuterung der Ladereihenfolge statischer Methoden
Der Unterschied zwischen statischen Methoden in Java-Statikcodeblöcken: Wenn beim Start des Projekts Code ausgeführt werden muss, müssen statische Codeblöcke verwendet werden Wenn das Projekt gestartet wird, müssen andere Programme statische Methoden verwenden, die bereits beim Laden der Klasse geladen werden und direkt mit dem Klassennamen aufgerufen werden können. Beispielsweise muss die Hauptmethode statisch sein. Der Unterschied zwischen den beiden besteht darin, dass der statische Codeblock nur ausgeführt wird, wenn er aufgerufen wird. Statische Methode
(1) In Java können Sie eine Methode definieren, für die kein Objekt erstellt werden muss. Um diesen Effekt zu erzielen, müssen Sie lediglich das Schlüsselwort static vor der in der Klasse definierten Methode hinzufügen. Zum Beispiel: öffentliches statisches int Maximum(int n1,int n2) Beachten Sie bei der Verwendung statischer Methoden einer Klasse Folgendes: In einer statischen Methode kann a nur andere statische Mitglieder (einschließlich Variablen und Methoden) derselben Klasse direkt aufrufen, aber nicht direkt auf nicht statische Mitglieder in der Klasse zugreifen. Dies liegt daran, dass nicht statische Methoden und Variablen vor ihrer Verwendung ein Instanzobjekt der Klasse erstellen müssen, während statische Methoden vor ihrer Verwendung keine Objekte erstellen müssen. b Statische Methoden können in keiner Weise auf die Schlüsselwörter this und super verweisen, da statische Methoden vor der Verwendung keine Instanzobjekte erstellen müssen. Wenn die statische Methode aufgerufen wird, wird das von this referenzierte Objekt überhaupt nicht generiert.
(2) Statische Variablen sind Variablen, die zur gesamten Klasse und nicht zu einem Objekt gehören. Beachten Sie, dass Variablen innerhalb eines Methodenkörpers nicht als statisch deklariert werden können, zum Beispiel: fun() { static int i=0;//Illegal. } (3) Eine Klasse kann einen statischen Codeblock verwenden, der in keinem Methodenkörper enthalten ist. Beim Laden der Klasse wird der statische Codeblock nur einmal ausgeführt. Statische Blöcke werden häufig zum Initialisieren von Klassenattributen verwendet. Zum Beispiel: static { }
<br>
public abstract class ClassLoadingTest { public static void main(String[] args) { User user3 = new User(); } }
User user= User("wang",18 "调用userSay静态方法""进入静态构造代码块"= User("wang2333", 19"进入代码块" User(String name, .name =.age = .name = setAge(.age = .getName() + "调用say方法"
执行结果: 进入代码块 调用userSay静态方法 wang调用say方法 进入静态构造代码块 进入代码块 wang2333调用say方法 wang调用say方法 进入代码块
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Ladereihenfolge statischer Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!