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