java代码块执行顺序_Java笔记 | Java代码块执行顺序测试
最近笔试常常遇到考察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代码块执行顺序测试相关推荐
- java代码的运行顺序_java中的代码块执行顺序
输入代码 blic static void main(String[] args) { { int x = 10;//限定变量的声明周期 System.out.println(x); } Studen ...
- java代码块的定义_Java几种代码块的定义与常见问题
Java几种代码块的定义与常见问题 代码块,通俗的说就是用一对"{}"括起来的一段代码,代码块可以根据位置分为以下几类: 局部代码块:局部代码块就是指直接在方法或是语句中定义的代码 ...
- java代码怎样整体左移_java 多行代码左移
java 多行代码左移 [2021-02-03 10:55:46] 简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/(\ ...
- java 线程执行结束_java中怎么判断线程执行完毕
java中怎么判断线程执行完毕 发布时间:2020-05-15 15:18:05 来源:亿速云 阅读:316 作者:Leah java中怎么判断线程执行完毕?针对这个问题,今天小编总结这篇有关线程判断 ...
- java类定义的顺序_Java类及对象的初始化顺序
1.初始化规则: 下面规则优先级从前往后依次降低 0.加载一个类时先初始化基类后初始化扩展类: 1.类的初始化高于对象的初始化: 类的初始化依靠静态代码(被static标识的),静态代码块.静态变量这 ...
- java类编来那个初始化顺序_Java类及对象的初始化顺序
1.初始化规则: 下面规则优先级从前往后依次降低 ①.加载一个类时先加载初始化基类后加载初始化扩展类: ②.类的初始化高于实例的初始化: 类的初始化依靠(静态代码块static{....})以及(静态 ...
- java中如何切割图片_Java 切割图片代码
Java 切割图片代码 (2012-09-04 10:39:48) 标签: 宽度 切割 源文件 工具类 java package com.lyis.commons.util; import java. ...
- java se说明文档_Java笔记---Java官方API文档的下载及使用
个人网站还在做数据迁移和备案,就先写在简书了(博客园将常被盗取),但是知道为啥不能发布Markdown Java 官方API文档 官方文档即是最好的学习教材 API文档是什么 说明文档,用于说明每个类 ...
- Java全国计算机等级考试二级笔记---java部分
Java全国计算机二级笔记 ##---------java部分 作者 :arsoooo 本内容供要参加java全国二级计算机等级考试的参考 这是我初学java时做题总结的,会有自己乱总结出来的不普遍的 ...
最新文章
- android monkey原理_Monkey与Appium的使用
- 身为程序员的你一定要学会Python这个神操作,会这个想单身都难
- Android 抓包的一些命令 及 adb使用的一些注意事项
- ORA-28000: the account is locked 的解决办法!
- java layout_java - 以编程方式在LinearLayout中设置边距
- 白话Elasticsearch57-数据建模之实现悲观锁并发控制的三种方式(未成功)
- 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)
- Ubuntu 装机必备设置与软件安装
- android studio中把c/c++文件编译成.so库(一)
- cartographer 前端两个方法:相干性匹配与非线性优化;以及回环检测方法:利用了分枝定界的相干性匹配
- 35c语言编程,35编号c语言编程题08850.pdf
- 中兴盒子B860AV2.1-A-B-M-U,通刷,线刷刷机固件
- 你知道如何从零开始学c++游戏编程吗
- 安卓学习 布局篇 Android studio
- 什么是物联网应用开发(IoT Studio)
- 大脸猫:「网站优化」网站优化宝典-网站优化建议
- 名表商城ECshop程序网站源码 在线商城网站源码wap+H5支付+https
- vue-router的实现
- VMware虚拟机超简单的联网方法
- java基础之重写父类_繁星漫天_新浪博客