前言
最近加入了春招的行列中,有好多东西需要学习or复习,在这里将持续整理学习、笔试和面试碰到的一些问题,希望能在巩固知识、加深印象的同时,也给大家的招聘之路带来便利,如果大家遇到了其他的经典问题,但是这里没有收录,希望大家能够通过评论等方式发给我,我会尽快的整理到集锦中。最后希望大家都能如愿找到满意的工作。by CrazyOnes
Java程序(初始化)的执行顺序(或使用new关键字时类的执行顺序)
父类静态变量 ----> 父类静态代码块 ----> 子类静态变量 ----> 子类静态代码块 ----> 父类非静态变量 ----> 父类构造代码块(非静态代码块) ----> 父类构造方法 ----> 子类非静态变量 ----> 子类构造代码块(非静态代码块) ----> 子类构造方法
我们可以发现规律静态变量先于非静态变量,父类先于子类,成员变量先于方法 ,另外若种类相同则按照代码出现的先后顺序执行 。
Java异常机制
Java异常的基类是Throwable,其直接子类有两个:Error和Exception,这也是Java异常的两个大类。
Error是指程序无法处理的错误,表示运行应用程序中较严重的问题;Exception是指程序本身可以处理的错误,经过处理即可恢复正常,Exception又具体分为了IO异常和运行时异常。
按照异常是否需要检查可以分为受检查异常和非受检查异常。受检查异常是强制程序员检测和处理的,范围为所有IO异常及其子类;非受检查异常是编译器可以处理的,最终可以由main()函数抛出,不属于受检查异常范围的异常都为非受检查异常。