在此记录一下面试中比较经常出现的问题,记录一下,虽然有些问题没有多大实用意义,但是偶尔复习下也是对基础知识的加深理解。
1、继承
java中的对象只运行单一继承,但是可以实现implement多个接口; 这里需要注意下,就是接口本身也可以继承接口,而且允许一个接口继承多个接口,例如:public interface InterA extends InterB,InterC
接口之间只能继承,不能实现implement。
总结下:一个类可以只能有一个父类;
抽象类可以实现implement多个接口,但不能继承extends接口;
一个接口可以继承多个接口。
2.、GC是什么? 为什么要有 GC?
GC 是垃圾收集的意思(Garbage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的GC 功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的, Java 语言没有提供释放已分配内存的显示操作方法。
3、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; (s1+1 运算结果是int 型,需要强制转换类型) shorts1 = 1; s1 += 1;(可以正确编译)
4、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Math.round(11.5)==12 Math.round(-11.5)==-11 round 方法返回与参数最接近的长整数,参数加1/2 后求其floor
5. Java中的时间格式化;
推荐使用:String format = "yyyy-MM-dd HH:mm:ss.SSS";
如果年和日使用大写的Y和D转换就会出现日期不对的情况,原因是大写的Y和D的对年和天的定义和小写的y和d是不一样的;
简单记忆:日期小驼峰,时间大驼峰;