Maison  >  Article  >  Java  >  Que sont les méthodes statiques Java

Que sont les méthodes statiques Java

青灯夜游
青灯夜游original
2021-07-26 11:49:1727926parcourir

En Java, les méthodes statiques font référence aux méthodes membres modifiées par static. Une méthode statique peut être appelée sans aucune instance de la classe à laquelle elle appartient. Par conséquent, le mot-clé this ne peut pas être utilisé dans une méthode statique, et les variables d'instance et les méthodes d'instance de la classe à laquelle elle appartient ne sont pas accessibles directement. , les variables statiques de la classe à laquelle il appartient sont directement accessibles ainsi que les méthodes statiques.

Que sont les méthodes statiques Java

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

Les méthodes statiques (ou méthodes de classe) font référence aux méthodes membres modifiées par static.

La différence entre les méthodes statiques et les méthodes d'instance :

  • Une méthode statique peut être appelée sans aucune instance de la classe à laquelle elle appartient, donc le mot-clé this ne peut pas être utilisé dans une méthode statique, ni accéder directement au classe à laquelle il appartient. Variables d'instance et méthodes d'instance, mais vous pouvez accéder directement aux variables statiques et aux méthodes statiques de la classe à laquelle elles appartiennent. De plus, comme le mot-clé this, le mot-clé super est également lié à une instance spécifique de la classe, il ne peut donc pas être utilisé dans les méthodes statiques.

  • Dans les méthodes d'instance, vous pouvez accéder directement aux variables statiques, aux méthodes statiques, aux variables d'instance et aux méthodes d'instance de la classe à laquelle elles appartiennent.

Exemple :

Créez une classe avec des variables statiques, ajoutez plusieurs méthodes statiques pour modifier les valeurs des variables statiques, puis appelez les méthodes statiques dans la méthode main() et affichez les résultats.

public class StaticMethod {
    public static int count = 1;    // 定义静态变量count
    public int method1() {    
        // 实例方法method1
        count++;    // 访问静态变量count并赋值
        System.out.println("在静态方法 method1()中的 count="+count);    // 打印count
        return count;
    }
    public static int method2() {    
        // 静态方法method2
        count += count;    // 访问静态变量count并赋值
        System.out.println("在静态方法 method2()中的 count="+count);    // 打印count
        return count;
    }
    public static void PrintCount() {    
        // 静态方法PrintCount
        count += 2;
        System.out.println("在静态方法 PrintCount()中的 count="+count);    // 打印count
    }
    public static void main(String[] args) {
        StaticMethod sft = new StaticMethod();
        // 通过实例对象调用实例方法
        System.out.println("method1() 方法返回值 intro1="+sft.method1());
        // 直接调用静态方法
        System.out.println("method2() 方法返回值 intro1="+method2());
        // 通过类名调用静态方法,打印 count
        StaticMethod.PrintCount();
    }
}

Le résultat après l'exécution de ce programme est le suivant :

在静态方法 method1()中的 count=2
method1() 方法返回值 intro1=2
在静态方法 method2()中的 count=4
method2() 方法返回值 intro1=4
在静态方法 PrintCount()中的 count=6

Dans ce programme, la variable statique count est utilisée comme données partagées entre les instances, donc lorsque count est appelé dans différentes méthodes, la valeur est différente. Comme le montre ce programme, la méthode non statique méthode1() ne peut pas être appelée dans les méthodes statiques méthode1() et PrintCount(), mais les méthodes statiques méthode2() et PrintCount() peuvent être appelées dans la méthode1(). méthode.

Lorsque vous accédez à des méthodes non statiques, vous devez y accéder via des objets d'instance. Lorsque vous accédez à des méthodes statiques, vous pouvez y accéder directement, via des noms de classe ou via des objets instanciés.

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