Heim >Java >javaLernprogramm >Detaillierte Erläuterung der Ladereihenfolge statischer Methoden

Detaillierte Erläuterung der Ladereihenfolge statischer Methoden

零下一度
零下一度Original
2017-07-19 23:18:504233Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn