Java面试金典

1,将构造函数声明为私有的作用

构造函数私有化,保证类以外的地方不能直接实例化该类,这种情况下,要创建这个类的实例,只能提供一个公共静态方法,像工厂方法模式,由于构造函数私有化,不能被继承。

2,在try语句块插入return语句,finally语句会执行吗?

当退出try语句时,执行finally语句块。finally语句不执行的情况:虚拟机在try/catch语句块执行期间退出;执行try语句块的线程被终止

3,final,finally,finalize的区别

final:应用于基本类型变量,该变量的值无法改变;应用于引用变量,该变量不能指向堆上的其他对象;应用于方法,不能被重写;应用于类,不能被继承;

finally:在try/catch块之后,可选择添加finally语句块,用于编写回收资源和清理的代码

finalize:当垃圾收集器确定再无引用指向某个对象实例时,就会在对象销毁前调用finalize方法,一般用于清理资源,关闭文件等

4,Java泛型,“语法糖”

Java的泛型在编译期有效,编译之后的字节码已经没有泛型,,在运行期被删除,也就是说所有的泛型参数类型在编译后都会被清除掉.

5,Java的对象反射

对象反射提供了获取Java类和对象的反射信息的方法,可执行操作:运行时取得类的方法和字段的相关信息;创建某个类的实例;通过获取字段引用直接获取和设置对象字段,不管修饰符如何。

对象反射的作用:有助于观察或操作应用程序的运行时行为;有助于调试或测试程序,因为我们可以直接访问方法、构造函数和成员字段;通过名字调用方法。

 

你可能感兴趣的:(Java面试金典)