Maison > Java > Javacommencer > Java Apprentissage approfondi des blocs de code statiques

Java Apprentissage approfondi des blocs de code statiques

王林
Libérer: 2019-11-27 14:00:00
avant
2652 Les gens l'ont consulté

Le

Java Apprentissage approfondi des blocs de code statiques

Bloc de code statique

static peut modifier les propriétés, les méthodes, les classes internes et les blocs de code.

Les blocs de code statiques sont appelés lorsque la classe est chargée, et ne sont exécutés qu'une seule fois, et ont priorité sur les différents blocs de code et constructeurs.

Si du code statique est utilisé à un seul endroit, alors tous les blocs de code statiques seront appelés.

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

Les exemples sont les suivants :

Classe parent

public class Human {
    static {
        System.out.println("2.父类中的静态代码块");
    }
    public String name;
    public Human() {
        System.out.println("1.父类中的构造方法");
    }

    public static void test() {
        System.out.println("6.父类中的静态方法");
    }
}
Copier après la connexion

Sous-classe

public class Man extends Human {
    static {
        System.out.println("4.子类中的静态代码块");
    }
    public Man() {
        System.out.println("3.子类中的构造方法");
    }
    public static void doo() {
        System.out.println("5.子类中的静态方法");
    }
}
Copier après la connexion

Classe principale

public class Main {
    public static void main(String[] args) {
        // Human human = new Man(); 输出2 4 1 3
        
        //父类的类名调用父类的方法
		//Human.test();      
		//输出2 6   在调用静态代码时,怕需要上面的静态代码块的内容,所以将其链接到内存    与子类无关
        
        //子类的类名调用子类的方法
        //Man.doo();       
       // 输出2  4  5  在调用子类的静态方法时,父类的静态代码块执行,与父类的静态代码块有关
         
         //子类的类名调用父类的方法
         //Man.test();   
        // 输出  2 6  注意这个能调test不是因为继承,test声明在了human里,子类可以调用父类的方法,
        //但是父类不能调用子类的方法  所以在Main中不可直达Man中的的方法

        //子类调用了父类的方法,在父类的方法里又引用了子类里的静态方法
        //Man.test();    输出  2 6 4 5
    }
}
Copier après la connexion

Le contenu du bloc de code statique est exécuté en premier (mais une seule fois), puis le constructeur de la classe parent est exécuté, puis le Le constructeur de sous-classe est exécuté.

Cet article provient de la rubrique Programme d'introduction Java Bienvenue à tous pour communiquer et apprendre ensemble !

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal