|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   yanqi_vip  阅读(9)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示