面试积累java篇(二)

1、静态变量和实例变量的区别?
静态变量:static 修饰,类加载的时候为其分配空间,通过类名. 使用
实例变量:必须创建实例化对象,才能够使用。

public class VariantTest{
        public static int staticVar = 0; 
        public int instanceVar = 0; 
        public VariantTest(){
            staticVar++;
            instanceVar++;
            System.out.println(“staticVar=” + staticVar + ”,instanceVar=” + instanceVar);
        }
}

2、是否可以从一个static方法内部发出对非static方法的调用?

不可以,static 方法不需要实例化就可以通过类型调用,而非static方法需要通过类实例化,才能调用。

3、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math 取整一般有 ceil(向上)、floor(向下)、round(4舍5入,+0.5 向下取整)。

4、java中实现多态的机制是什么?

父类的引用指向子类或者接口的定义指向具体的实现类。程序调用是在运行间动态绑定的,可实现热拔插,动态更新。

5、finally中的代码比return 和break语句后执行

6、final, finally, finalize的区别。

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
内部类要访问局部变量,局部变量必须定义成final类型,例如,一段代码……

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。JVM不保证此方法总被调用

7、运行期异常

NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException。

你可能感兴趣的:(面试积累java篇(二))