美文网首页
JAVA基础面试题

JAVA基础面试题

作者: Chenmaster | 来源:发表于2016-09-30 09:11 被阅读0次

    ---问题---:

    try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

    ---答案---:

    会执行,在return前执行。

    ---问题---:

    运行时异常与一般异常有何异同?

    ---答案---:

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常

    ---问题---:

    char型变量中能不能存贮一个中文汉字?为什么?

    ---答案---:

    能够定义成为一个中文的,因为java中以unicode编码,一个char占2个字节,所以放一个中文是没问题的

    ---问题---:

    关于异常处理机制的叙述哪些正确

    a. catch部分捕捉到异常情况时,才会执行finally部分

    b. 当try区段的程序发生异常时,才会执行catch区段的程序

    c. 不论程序是否发生错误及捕捉到异常情况,都会执行finally部分

    d. 以上都是

    ---答案---:

    BC

    ---问题---:

    抽象类和接口的区别?

    ---答案---:

    (1)接口可以被多重implements,抽象类只能被单一extends

    (2)接口只有定义,抽象类可以有定义和实现

    (3)接口的字段定义默认为:public static final, 抽象类字段默认是"friendly"(本包可见)

    当功能需要累积时用抽象类,不需要累积时用接口。

    ---问题---:

    super()与this()的区别?

    ---答案---:

    This():当前类的对象,super父类对象。

    Super():在子类访问父类的成员和行为,必须受类继承规则的约束

    而this他代表当前对象,当然所有的资源都可以访问.

    在构造函数中,如果第一行没有写super(),编译器会自动插入.但是如果父类没有不带参数的构造函数,或这个函数被私有化了(用private修饰).此时你必须加入对父类的实例化构造.而this就没有这个要求,因为它本身就进行实例化的构造.

    而在方法中super和this使用的方法就差不多了.只不过super 要考虑是否能访问其父类的资源.

    ---问题---:

    class Something {

       final int i;

       public void doSomething() {

           System.out.println("i = " + i);

       }

    }

    ---答案---:

    和上面一题只有一个地方不同,就是多了一个final。这难道就错了吗?

    答案: 错。final int i是个final的instant variable (实例变量,或叫成员变量)。final的instant variable没有default value,必须在constructor (构造器)结束之前被赋予一个明确的值。可以修改为"final int i = 0;"。

    ---问题---:

    线程的基本概念、线程的基本状态以及状态之间的关系

    ---答案---:

    线程指在程序执行过程中,能够执行程序代码的一个执行单位,每个程序至少都有一个线程,也就是程序本身。

    Java中的线程有四种状态分别是:运行、就绪、挂起、结束。

    ---问题---:

    构造器Constructor是否可被override?

    ---答案---:

    构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

    相关文章

      网友评论

          本文标题:JAVA基础面试题

          本文链接:https://www.haomeiwen.com/subject/hwmlyttx.html