文档介绍:java基础面试题及答案
当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。下面就由X为大家介绍一下java基础面试题和答案的文章。
java基础面试题和答案篇1
1、抽象类(abstractclass)和接口(interface)有什么区分?
答:申明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创立一个表现一些基础行为的类,并为该类申明方法,但不能在该类中实现该类的情况。不能创立abstract类的实例。然而能够创立一个变量,其类型是一个抽象类,并让它指向详细子类的一个实例。不能有抽象结构函数或抽象静态方法。Abstract类的子类为它们父类中的全部抽象方法提供实现,不然它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类能够在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,全部方法全部是抽象的。多继承性可经过实现这么的接口而取得。接口中的全部方法全部是抽象的,没有一个有程序体。接口只能够定义staticfinal组员变量。接口的实现和子类相同,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义全部这种接口的方法。然后能够在实现了该接口的类的任何对象上调用接口的方法。因为有抽象类,它许可使用接口名作为引用变量的类型。引用能够转换到接口类型或从接口类型转换,instanceof运算符能够用来决定某对象的类是否实现了接口。
2、Java中的异常处理机制的简单原理和应用。
答:当Java程序违反了Java的语义规则时,Java虚拟机就会将发生的错误表示为一个异常。违反语义规则包含2种情况:一个是Java类库内置的语义检验。比如数组下标越界时会引发IndexOutOfBoundsException,访问null的对象时会引发NullPointerException。另一个情况是Java许可程序员扩展这种语义检验,程序员能够创立自己的异常,并自由选择在何时用throw关键字引发异常。全部的异常全部是的子类。
3、sleep和wait有什么区分?
答:sleep是线程类Thread的方法,造成此线程暂停实施指定时间,给实施机会给其它线程,不过监控状态仍然保持,到时后会自动恢复,调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法造成本线程放弃对象锁,进入等候此对象的等候锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备取得对象锁进入运行状态。
4、String是最基础的数据类型吗?
答:String不是基础数据类型,基础数据类型包含byte、int、char、long、float、double、boolean和short。类是final类型的,所以不能够继承这个类、不能修改这个类。
5、String和StringBuffer的区分。
答:Java平台提供了两个类:String和StringBuffer,它们能够储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当知