个人整理JAVA笔试错题——基础部分

这篇博客整理了JAVA面试的基础错题,包括类的加载顺序、字符串equals与==的区别以及正则表达式的应用。通过代码示例和解析,帮助读者理解JAVA中类的初始化过程,字符串比较的方法,以及如何使用正则表达式截取特定格式的字符串。
摘要由CSDN通过智能技术生成

##JAVA面试错题笔记

1.以下代码执行后输出结果为( )

public class Test
	{
    public static Test t1 = new Test();
    {
         System.out.println("blockA");
    }
    static
    {
        System.out.println("blockB");
    }
    public static void main(String[] args)
    {
        Test t2 = new Test();
    }
	}
正确答案: A 你的答案: A (正确)
A.blockAblockBblockA
B.blockAblockAblockB
C.blockBblockBblockA
D.blockBblockAblockB
  • 解析:
    1.首先,需要明白类的加载顺序。
    (1) 父类静态对象和静态代码块
    (2) 子类静态对象和静态代码块
    (3) 父类非静态对象和非静态代码块
    (4) 父类构造函数
    (5) 子类 非静态对象和非静态代码块
    (6) 子类构造函数
    其中:类中静态块按照声明顺序执行,并且(1)和(2)不需要调用new类实例的时候就执行了(意思就是在类加载到方法区的时候执行的)
    2.因而,整体的执行顺序为
    public static Test t1 = new Test(); //(1)
    static
    {
    System.out.println(“blockB”); //(2)
    }
    Test t2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值