|NO.Z.00056|——————————|^^ 笔试 ^^|——|Java&static关键字继承.V16|——|Java.v16|制造块|静态代码块|

一、构造块和静态代码块的考点
### --- 案例题目

~~~     ——>        先执行父类的静态代码块,再执行子类的静态代码块。
~~~     ——>        执行父类的构造块,执行父类的构造方法体。
~~~     ——>        执行子类的构造块,执行子类的构造方法体。
二、编程代码
package com.yanqi.task08;

import java.sql.SQLOutput;

public class SuperTest {

    {
        System.out.println("SuperTest类中的构造块!"); // (2)      c
    }

    static {
        System.out.println("SuperTest类中的静态代码块!"); // (1)    a
    }

    public SuperTest() {
        System.out.println("SuperTest类中的构造方法体!"); // (3)    d
    }

    public static void main(String[] args) {

        // 使用无参方式构造对象
        SuperTest st = new SuperTest();
    }
}
三、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=56441:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task08.SuperTest
SuperTest类中的静态代码块!
SuperTest类中的构造块!
SuperTest类中的构造方法体!

Process finished with exit code 0

一、构造块和静态代码块的考点
### --- 案例题目

——>        先执行父类的静态代码块,再执行子类的静态代码块。
——>        执行父类的构造块,执行父类的构造方法体。
——>        执行子类的构造块,执行子类的构造方法体。
二、编程代码
package com.yanqi.task08;

// 导入java目录中lang目录中System类中的静态成员out  很少使用
import static java.lang.System.out;

public class SubSuperTest extends SuperTest {

    {
        System.out.println("==========SubSuperTest类中的构造块!"); // (2)      e
    }

    static {
        System.out.println("==========SubSuperTest类中的静态代码块!"); // (1)   b
    }

    public SubSuperTest() {
        //System.out.println("==========SubSuperTest类中的构造方法体!"); // (3)  f
        out.println("==========SubSuperTest类中的构造方法体!");
    }

    public static void main(String[] args) {

        // 使用无参方式构造子类的对象
        SubSuperTest sst = new SubSuperTest();
    }
}
三、编译打印
D:\JAVA\jdk-11.0.2\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=58464:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath E:\NO.Z.10000——javaproject\NO.H.00001.javase\javase\out\production\javase com.yanqi.task08.SubSuperTest
SuperTest类中的静态代码块!
==========SubSuperTest类中的静态代码块!
SuperTest类中的构造块!
SuperTest类中的构造方法体!
==========SubSuperTest类中的构造块!
==========SubSuperTest类中的构造方法体!

Process finished with exit code 0

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-04-03 17:54  yanqi_vip  阅读(13)  评论(0)    收藏  举报

导航