记录几个常见的笔试题

本文介绍了Java中类加载的顺序,包括加载、验证、准备、解析和初始化阶段,详细解释了静态代码块与局部代码块的加载时机。接着探讨了类的继承与加载顺序,以及多态在静态代码块调用中的表现。此外,文章还讨论了字符串比较的原理,强调了常量池的作用,并通过实例解释了整数装箱、拆箱的过程以及缓存机制。
摘要由CSDN通过智能技术生成

一、局部代码块的加载时机与顺序
这里写图片描述
答案:
D
A
C
B
C
D
解释:
类的加载过程分为:加载->验证->准备->解析->初始化
静态代码块属于类的变量的一部分,在类的加载阶段会被执行调用,是最先被加载的,普通的局部代码块,属于实例对象,当new出对象的时候会率先于构造函数的方法而执行,具体对应于初始化过程中。所以正确的加载顺序就是答案所示了。


二、类的继承与加载顺序

这里写图片描述
答案:
AC
解释:
本题涉及类的多态,B类知识默默基础A类的共有静态属性,在main函数里面调用B.c,实际上是读取A.c,在此过程中实际访问的是A类,所以是不会有输出B类的静态代码块的。可能会有读者对此有所疑惑,那么我们对B类稍作更改,如下图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值