java中的静态代码块、构造代码块、构造方法详解

作者:jingxian 时间:2023-06-18 12:11:32 

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


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;

标签:java,静态代码块,构造代码块,构造
0
投稿

猜你喜欢

  • 详解SpringBoot开发使用@ImportResource注解影响拦截器

    2021-08-02 13:49:53
  • Spring Boot启动过程(四)之Spring Boot内嵌Tomcat启动

    2023-09-21 00:16:18
  • Java面试题冲刺第二十三天--分布式

    2023-09-24 07:30:43
  • Spring源码解析之事务传播特性

    2021-08-14 16:49:39
  • 浅谈java中对集合对象list的几种循环访问

    2022-02-11 02:32:33
  • javaweb学习总结——使用JDBC处理MySQL大数据

    2022-10-19 22:45:32
  • 浅谈JAVA中输入输出流实例详解

    2022-10-21 05:20:57
  • java实现ArrayList根据存储对象排序功能示例

    2022-01-24 01:06:05
  • Android Gradle模块依赖替换使用技巧

    2021-07-03 20:22:53
  • Android自定义View画圆功能

    2023-05-18 10:47:24
  • Java控制台实现猜拳游戏小游戏

    2022-04-20 09:52:55
  • Android 动画实现几种方案

    2022-08-31 02:57:39
  • SpringBoot应用线上重启脚本的命令详解

    2022-02-05 18:21:52
  • Java实现LeetCode(54.螺旋矩阵)

    2023-01-26 20:54:00
  • java程序员如何编写更好的单元测试的7个技巧

    2023-09-05 14:57:24
  • Android开发简易音乐播放器

    2023-12-26 01:07:03
  • Android 如何使用log4j及注意事项

    2023-06-01 07:47:24
  • MyBatis中的模糊查询语句

    2022-09-30 03:36:59
  • C# 对象持久化详解

    2023-06-24 10:21:47
  • Java程序员面试中的多线程问题总结

    2021-12-12 07:48:33
  • asp之家 软件编程 m.aspxhome.com