java相关问题举例分析
发表于:2025-01-29 作者:千家信息网编辑
千家信息网最后更新 2025年01月29日,本篇内容主要讲解"java相关问题举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java相关问题举例分析"吧!一、问题public class T
千家信息网最后更新 2025年01月29日java相关问题举例分析
本篇内容主要讲解"java相关问题举例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java相关问题举例分析"吧!
一、问题
public class Test{
public static Test t1 = new Test();//标记1
{
System.out.println("block A");//标记2
}
static{
System.out.println("block B");//标记3
}
public static void main(String[] args){
Test t2 = new Test();//标记4
}
}
二、知识点
类的加载顺序
1.父类静态对象和静态代码块
2.子类静态对象和静态代码块
3.父类非静态对象和非静态构造代码块
4.父类构造函数
5.子类非静态对象和非静态构造到代码块
6.子类构造函数
7.普通代码块
8.上述加载顺序中,类中静态代码块按照声明顺序执行,并且1和2在类加载到方法区的时候执行,也就是不需要在调用new实例的时候就执行了。
三、答案解析
首先进入Test类,没有父类,那就执行自身的静态对象和代码块,并且按照声明顺序执行。所以首先执行标记1的静态对象,并且进行了实例化,所以需要调用相应的构造代码块,执行了标记2的语句,所以输出了block A;执行完毕后顺序执行静态代码块,也就是标记3的语句,所以输出了block B;继续执行静态的main方法,重新实例化Test对象,再次调用构造代码块,再次输出了标记2的语句,所以再次输出了block A;所以最终的结果为:
block A
block B
block A
不知道大家理解了没有呢?
学习三部曲,可以用javap -v 看一看编译后的class文件,这样对这个过程会更加清晰
还可以用idea的debug看一下 cinit , init 的区别
到此,相信大家对"java相关问题举例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
静态
代码
标记
对象
顺序
问题
输出
分析
再次
子类
实例
方法
语句
学习
也就是
内容
函数
时候
实用
普通
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
丰润区品牌软件开发
西峡县网络安全教育
福建定制网络技术服务商家
rds有服务器吗
北京ntp时钟服务器云主机
软件开发新员工年度总结
校园网络安全如何防范意识
软件开发都是自备电脑吗
豆豆柴区服务器
仓库库存管理数据库模型
软件开发收税
中国台湾文档软件开发哪家快
深圳服务器报废公司
中学网络安全竞赛
漳州软件开发工程师招聘
0571网络技术
曙光服务器 驱动
医院服务器配置方案供应商
黑魂3创建服务器
苏州应用软件开发价格表
服务器端口一般是几位
华为软件开发经理
网络安全的实施方法
北京游卡网络技术
能定位企业微信的软件开发
网盘的数据库损坏概率
Ei数据库如何全选数据
阿里云数据库迁移方式
军用软件开发计划文档样板
关于对网络安全的工作要求