运行下面这段代码,观察其结果:

package com.test;public class HelloB extends HelloA {public HelloB() {}{System.out.println("I’m B class");}static {System.out.println("static B");}public static void main(String[] args) {new HelloB();}
}class HelloA {public HelloA() {}{System.out.println("I’m A class");}static {System.out.println("static A");}}

结果如下:

static A
static B
I’m A class
I’m B class

解析:

1.静态代码块:是在类的加载过程的第三步初始化的时候进行的,主要目的是给类变量赋予初始值。

2.构造代码块:是独立的,必须依附载体才能运行,Java会把构造代码块放到每种构造方法的前面,用于实例化一些共有的实例变量,减少代码量。

3.构造方法:用于实例化变量。

总结:

1是类级别的,2、3是实例级别的,所以1要优先2、3.

它们的执行顺序是1>2>3;

转载于:https://www.cnblogs.com/studyLog-share/p/5306966.html

java中的静态代码块、构造代码块、构造方法相关推荐

  1. java 中的静态(static)代码块

    类字面常量 final 静态域不会触发类的初始化操作 非 final static 静态域(以及构造器其实是一种隐式的静态方法) Class.forName():会自动的初始化: 使用 .class来 ...

  2. [转载] Java静态代码块/构造代码块/构造函数/静态变量/成员变量(相关示例)

    参考链接: Java程序的输出| 构造函数 近期做牛客网的Java开发笔试题,发现这类型的题目较多,很容易混淆,特将相关概念和相关示例整理如下,供大家参考^_^ 1. 静态代码块在类加载时即运行,而且 ...

  3. java 中的静态变量,静态代码块,动态代码块,构造方法执行顺序的深入探究

    要想完全弄懂这个执行顺序,需要我们先了解几个概念. 首先是类加载与对象的构造,类加载就是在第一次调用这个类的时候jvm虚拟机会通过类加载器在一个叫做方法区的逻辑内存中将所要用到的类的信息存放在里边,其 ...

  4. java静态代码块、静态方法、静态变量、构造代码块、普通代码块、成员变量执行顺序

    package smartt.styy.auth.model.voRsp;public class Test {static {String test5="555";//局部变量t ...

  5. java中你知道这四种代码块吗?

    大家好,我是雄雄,今天给大家分享的是:java中构造代码块的用法. 什么叫代码块?代码块将多行代码封装到一个{}中,形成一个独立的代码区,这就够成了代码块,一般常见的代码块是这样的: Java中,代码 ...

  6. 静态代码块 构造代码块 构造方法的执行顺序

    今天我总结了一下java中静态代码块 构造代码块 构造方法的执行顺序及其注意问题 执行顺序: 静态代码块>构造代码块>构造方法体 首先要知道静态代码块是随着类的加载而加载,而构造代码块和构 ...

  7. 代码块:在Java中,使用{}括起来的代码被称为代码块。

    /*代码块:在Java中,使用{}括起来的代码被称为代码块.根据其位置和声明的不同,可以分为局部代码块:局部位置,用于限定变量的生命周期.构造代码块:在类中的成员位置,用{}括起来的代码.每次调用构造 ...

  8. java中的静态变量的作用域_详解JAVA中static的作用

    1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说 ...

  9. java中的静态是什么?怎么用?

    Java属于入门容易,天花板却极高的编程语言.java中的静态是什么?对于java工程师来说技术的不断发展,需要不断学习java进阶知识.为了帮助大家巩固基础,本文解答了java中的静态是什么?怎么用 ...

  10. java中的静态、动态代理模式以及Spring中的CgLib动态代理解读(面试必问)

    java中的静态.动态代理模式以及Spring中的CgLib动态代理解读(面试必问) 静态代理 动态代理 CgLib动态代理     基础知: 反射知识 代理(Proxy)是一种设计模式,提供了对目标 ...

最新文章

  1. mysql 按条件更新
  2. 单片机成长之路(51基础篇) - 008 C51 的标示符和关键字
  3. MyEclipse、eclipse代码自动补全
  4. CG CTF WEB 签到题
  5. ITK:从二进制图像中的对象计算距离图
  6. 237. Delete Node in a Linked List
  7. 216. 组合总和 III017(回溯法求解)
  8. 常用机器学习算法汇总比较(完)
  9. 网和aoe网的区别_运动内衣与普通内衣有什么区别?运动内衣里面还需要穿文胸吗? 小家生活网20201002 11:03:04...
  10. 读书笔记2013第16本:《删除:大数据取舍之道》
  11. [1424] 金克拉与贪吃蛇的故事
  12. 粒子群PSO算法实验及其代码解释
  13. Android学习笔记之Bitmap位图的缩放
  14. js 获取到number的length
  15. 什么是MySQL数据空洞?
  16. uClinux 启动过程详细分析
  17. SAP中采购订单历史分类标识与实际业务描述
  18. 太原市社会保险新数据中心建设及系统搬迁项目
  19. ssm栾城五中的图书管理毕业设计源码171727
  20. 如何举报可疑的Android应用

热门文章

  1. 基于TCP协议的网络摄像头的设计与实现
  2. java 蓝桥杯算法训练 数组查找及替换
  3. mysql amoeba 链接111,mycat1.4 amoeba3.0.5 mysql直连对照_mysql
  4. 服务发现和注册和Eureka
  5. Apache和Nginx防盗链
  6. c语言中index函数,MATCH+INDEX函数详解
  7. 太空java游戏_JavaSpaceWar 一个基于 语言编写的太空战争游戏,包含所有图像和声音资源,便 习理解使用 Game Program 238万源代码下载- www.pudn.com...
  8. vuex commit 模块_一分钟上手Vuex
  9. 高级定时器的各种框图和HAL库重要结构
  10. STM32使用DMA发送串口数据