最近笔试常常遇到考察Java代码块执行顺序的题目,网上查看博客错漏百出,特地自己测试了一下。

如有错漏,希望路过的大佬指出来,以便我进行更改。

先上代码吧!

public class ClassA {

private static String a = print("A");

static {

System.out.println(a+":A——静态块");

}

{

System.out.println("A——构造块");

}

public ClassA() {

System.out.println("A——默认构造方法");

}

public ClassA(String name) {

System.out.println("A——带参构造方法");

}

public static String print(String className) {

System.out.println(className+"——静态属性");

return className;

}

}

public class ClassB extends ClassA{

private static String b = print("B");

static {

System.out.println(b+":B——静态块");

}

{

System.out.println("B——构造块");

}

public ClassB() {

System.out.println("B——默认构造方法");

}

public ClassB(String name) {

System.out.println("B——带参构造方法");

}

}

public class ClassTest {

public static void main(String[] args) {

System.out.println("start");

ClassB laughter = new ClassB("laughter");

System.out.println("------------------");

ClassB Somnus = new ClassB();

}

}

接下来是测试结果

总结

结合我查询的资料以及测试结果,可以得知执行顺序如下:

main 函数作为入口,按行依次执行;

静态属性 > 静态方法声明 > 静态块;

动态属性 > 动态方法声明 > 构造块;

构造方法。

补充说明:

创建一个对象时,无论是否带参数,都会先调用它的父类(如果存在父类)的默认构造方法。

java代码块执行顺序_Java笔记 | Java代码块执行顺序测试相关推荐

  1. java代码的运行顺序_java中的代码块执行顺序

    输入代码 blic static void main(String[] args) { { int x = 10;//限定变量的声明周期 System.out.println(x); } Studen ...

  2. java代码块的定义_Java几种代码块的定义与常见问题

    Java几种代码块的定义与常见问题 代码块,通俗的说就是用一对"{}"括起来的一段代码,代码块可以根据位置分为以下几类: 局部代码块:局部代码块就是指直接在方法或是语句中定义的代码 ...

  3. java代码怎样整体左移_java 多行代码左移

    java 多行代码左移 [2021-02-03 10:55:46]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/(\ ...

  4. java 线程执行结束_java中怎么判断线程执行完毕

    java中怎么判断线程执行完毕 发布时间:2020-05-15 15:18:05 来源:亿速云 阅读:316 作者:Leah java中怎么判断线程执行完毕?针对这个问题,今天小编总结这篇有关线程判断 ...

  5. java类定义的顺序_Java类及对象的初始化顺序

    1.初始化规则: 下面规则优先级从前往后依次降低 0.加载一个类时先初始化基类后初始化扩展类: 1.类的初始化高于对象的初始化: 类的初始化依靠静态代码(被static标识的),静态代码块.静态变量这 ...

  6. java类编来那个初始化顺序_Java类及对象的初始化顺序

    1.初始化规则: 下面规则优先级从前往后依次降低 ①.加载一个类时先加载初始化基类后加载初始化扩展类: ②.类的初始化高于实例的初始化: 类的初始化依靠(静态代码块static{....})以及(静态 ...

  7. java中如何切割图片_Java 切割图片代码

    Java 切割图片代码 (2012-09-04 10:39:48) 标签: 宽度 切割 源文件 工具类 java package com.lyis.commons.util; import java. ...

  8. java se说明文档_Java笔记---Java官方API文档的下载及使用

    个人网站还在做数据迁移和备案,就先写在简书了(博客园将常被盗取),但是知道为啥不能发布Markdown Java 官方API文档 官方文档即是最好的学习教材 API文档是什么 说明文档,用于说明每个类 ...

  9. Java全国计算机等级考试二级笔记---java部分

    Java全国计算机二级笔记 ##---------java部分 作者 :arsoooo 本内容供要参加java全国二级计算机等级考试的参考 这是我初学java时做题总结的,会有自己乱总结出来的不普遍的 ...

最新文章

  1. android monkey原理_Monkey与Appium的使用
  2. 身为程序员的你一定要学会Python这个神操作,会这个想单身都难
  3. Android 抓包的一些命令 及 adb使用的一些注意事项
  4. ORA-28000: the account is locked 的解决办法!
  5. java layout_java - 以编程方式在LinearLayout中设置边距
  6. 白话Elasticsearch57-数据建模之实现悲观锁并发控制的三种方式(未成功)
  7. 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
  8. Ubuntu 装机必备设置与软件安装
  9. android studio中把c/c++文件编译成.so库(一)
  10. cartographer 前端两个方法:相干性匹配与非线性优化;以及回环检测方法:利用了分枝定界的相干性匹配
  11. 35c语言编程,35编号c语言编程题08850.pdf
  12. 中兴盒子B860AV2.1-A-B-M-U,通刷,线刷刷机固件
  13. 你知道如何从零开始学c++游戏编程吗
  14. 安卓学习 布局篇 Android studio
  15. 什么是物联网应用开发(IoT Studio)
  16. 大脸猫:「网站优化」网站优化宝典-网站优化建议
  17. 名表商城ECshop程序网站源码 在线商城网站源码wap+H5支付+https
  18. vue-router的实现
  19. VMware虚拟机超简单的联网方法
  20. java基础之重写父类_繁星漫天_新浪博客

热门文章

  1. [网鼎杯 2020 青龙组]bang
  2. 题目3:文本文件单词的检索与计数(实现代码)
  3. c++11中智能指针的原理,使用,实现
  4. c++对象长度之空类(1)
  5. PC微信逆向:分析@群成员call
  6. 160个Crackme017
  7. 3、MySQL查看存储过程
  8. 【PAT乙级】1066 图像过滤 (15 分)
  9. 手把手教你写C语言的动态库的开发
  10. 表名含有后缀 mysql 怎么删除_mysql批量删除指定前缀或后缀表