Maison  >  Article  >  Java  >  Quelle est la différence entre les méthodes statiques et les méthodes non statiques en Java

Quelle est la différence entre les méthodes statiques et les méthodes non statiques en Java

青灯夜游
青灯夜游original
2021-05-07 14:23:2429019parcourir

Différences : 1. Les méthodes statiques sont des méthodes modifiées avec le mot-clé static, qui appartiennent aux classes, pas aux objets ; les méthodes non statiques sont des méthodes ordinaires qui ne sont pas modifiées avec le mot-clé static et appartiennent aux objets, pas aux objets. cours. 2. Les méthodes statiques peuvent être appelées directement, les appels de nom de classe et les appels d'objets ; les méthodes non statiques ne peuvent être appelées que via des objets. 3. Différents cycles de vie.

Quelle est la différence entre les méthodes statiques et les méthodes non statiques en Java

L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.

1. La différence entre les méthodes statiques et les méthodes non statiques (les objets appelants et les variables de référence sont différents)

Méthode statique : C'est une méthode modifiée avec le statique mot-clé, également appelé méthode de classe. Il appartient à la classe, pas à l'objet. Vous pouvez appeler la méthode statique via le nom de la classe et le nom de la méthode avant d'instancier l'objet. (Les attributs statiques et les méthodes statiques appartiennent à des classes et peuvent être appelés directement via le nom de la classe).

A. Dans une méthode statique, vous pouvez appeler une méthode statique.

B. Dans les méthodes statiques, les méthodes non statiques ne peuvent pas être appelées.

C. Dans une méthode statique, vous pouvez référencer des variables de classe (c'est-à-dire des variables modifiées statiquement).

D. Dans les méthodes statiques, les variables membres ne peuvent pas être référencées (c'est-à-dire les variables sans modification statique).

E. Dans les méthodes statiques, les mots-clés super et this ne peuvent pas être utilisés.

Méthode non statique : il s'agit d'une méthode ordinaire qui ne contient pas la modification du mot-clé statique, également appelée méthode d'instance. et la méthode des membres. Appartient aux objets, pas aux classes. (Les attributs membres et les méthodes membres appartiennent à l'objet, et l'objet doit être créé via le nouveau mot-clé puis appelé via l'objet).

A. Dans les méthodes ordinaires, les méthodes ordinaires peuvent être appelées.

B. Dans les méthodes ordinaires, vous pouvez appeler des méthodes statiques

C. Dans les méthodes ordinaires, vous pouvez référencer des variables de classe et des variables membres

D. peut utiliser les mots-clés super et this

2. La différence entre les méthodes statiques et les méthodes non statiques (différentes méthodes d'appel)

Les méthodes statiques peuvent être appelées directement, et l'appel du nom de classe et l'appel de l'objet. (Nom de la classe. Nom de la méthode / Nom de l'objet. Nom de la méthode)

Mais les méthodes non statiques ne peuvent être appelées que via des objets. (Nom de l'objet. Nom de la méthode)

3. La différence entre les méthodes statiques et les méthodes non statiques (cycles de vie différents)

Le cycle de vie d'une méthode statique est identique à la classe correspondante. Les méthodes longues et statiques et les variables statiques sont allouées et chargées en mémoire au fur et à mesure que la classe est définie. Les propriétés et méthodes statiques ne seront pas détruites avant la fin du thread. (C'est-à-dire que les méthodes statiques appartiennent à des classes)

Le cycle de vie des méthodes non statiques est aussi long que l'objet instancié de la classe. Ce n'est que lorsque la classe instancie un objet que la méthode non statique le sera. créé, et lorsque cet objet Lorsqu'il est détruit, les méthodes non statiques sont également détruites immédiatement. (C'est-à-dire que les méthodes non statiques appartiennent aux objets)

Résumé : les méthodes de classe peuvent être appelées directement via le nom de la classe, les méthodes d'instance doivent d'abord instancier la classe, puis initialiser l'objet, puis l'appeler via le objet d'instance de la classe

Exemple :

class XYZ{
public static void main(String[] str){
     XYZ.testStatic();         //直接通过类调用

     XYZ a = new XYZ();        //实例化,然后构造方法会初始化
     a.testMethod();           //对象调用方法
}

public static void testStatic(){
System.out.println("This is static method");
}

public void testMethod(){
System.out.println("This is instance method");
}
}

Les variables/méthodes statiques statiques sont initialisées pendant le processus de chargement de la classe, et une seule copie existe dans la mémoire, elle peut donc être considérée comme une instance globale variable/méthode.

Tutoriels vidéo associés recommandés : Tutoriel vidéo Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn