我生待明日,万事成蹉跎

JAVA面试题及答案(1)

JAVA面试题及答案1、Try块中是否所有的语句都一定会执行,为什么?

不是,一但try中发生异常,发生异常的下面的语句不会再执行,接着由catch块执行

JAVA面试题及答案2、如何获得一定范围的随机整数?

x+Math.random()*y 其中x是位移数,确定最小范围,y是放大系数,确定最大数。

JAVA面试题及答案3、ArrayList和Vector的区别

ArrayList和Vector功能类似。vector是线程安全的,效率低,Arraylist是线程不安全的,效率高。

JAVA面试题及答案4、列出至少5个最常见到的runtime exception并描述在什么情况下出现

IOException在未找到文件时会抛出;NullPointerExecption在对象引用指向空时会抛出;ArrayIndexOutOfBoundsExecption在数组下标越界时会抛出;NumberFormatException在字符串不能转换成数字时会抛出;ArithmeticException在分母为零时会抛出。

JAVA面试题及答案5、继承类和实现接口分别怎么做?

继承类:使用extends关键字   实现接口:implements 接口中的所有常量必须是public static final,方法必须是public abstract

JAVA面试题及答案6、接口与抽象类的区别?

抽象类是在创建类的时候使用了可选修饰符abstract的类;创建接口使用的关键字是interface 2、接口里的方法全部是抽象方法、而且访问修饰符必须是public,接口无构造方法,一般一个接口只定义一个方法,遵循最小接口原则;抽象类里的方法可以有抽象方法,也可以没有抽象方法,但是一个类里如果出现抽象方法,那么这个类必须是抽象类。抽象类除了不能产生对象,其它方面和普通的类没有区别。3、接口用于扩展类的功能,让没有继承关系的类,也拥有相同的方法,接口可以多实现;抽象类主要用于产生子类,而抽象类只能单继承。

JAVA面试题及答案7、谈谈继承,为什么要使用继承?

在写程序的时候,经常会遇到这样的情况,两个类互相联系,却又有所不同。如果在设计的时候,直接写两个类,在以后要对程序进行扩展的时候(比如要扩展的部分是两个类共有的特征),那就需要把两类个全部修改。但是如果把他们的共同特征提取出来,作为一个父类,让两个类继承它,并且在两个类里只写上它们独有的部分,这样在以后要修改或是扩展程序的时候,就可以只做最小程度的改动或是不对程序进行改动,直接就能添加新功能。这样,使用继承,不但能更清楚的反映类与类的关系,对以后的维护也有好处。

JAVA面试题及答案8、方法重载有什么好处?

重载主要指同一个类里,有多个方法有相同的方法名,但是参数列表不同,这样,可以让人很容易的记住多个方法,而且如果没有重载,会十分的不方便,比如构造方法如果没有重载,那么在新建对象的时候只能使用公共无参构造,要想指定属性的初始值,就会很麻烦。

JAVA面试题及答案9、什么是异常?描述下异常处理?

在程序执行的过程中,会产生各种问题,使程序崩溃或者无法运行,这些问题分为错误和异常(其中又分编译时异常和运行时异常)。错误是不能通过修改代码解决的,而异常就可以。在处理异常时有三种情况:一是捕获并解决,二是捕获但是不解决,三是不捕获。异常处理可以用先验、后捕这2种方法,先验主要是靠经验、多测多调试,后捕主要是通过try-catch-finally语句块来实现。另外还可以用throw和throws来抛出异常。

JAVA面试题及答案10、多线程的优先级?为什么要分优先级?

线程的优先级,就是能让这个线程抢到CPU的控制权的机率变大或变小的一种设置。在多个线程同时运行时,默认各个线程抢到CPU的机率是一样的,但是根据实际情况,我们需要某些线程更容易抢到CPU,使它们较先执行,所以我们需要设置优先级,通过代码来尽量控制每个线程被执行的情况。

JAVA面试题及答案11、异常框架的类结构?

异常框架的类结构的顶层是java.lang包里的一个名叫Throwable的类,然后分为了Exception和Error两个子类,其中Error是错误。Exception里面有一个RuntimException,这里面的子类全是运行时可能发生的异常,其余的都属于编译时异常。

JAVA面试题及答案12、什么是泛型?它有什么样的好处?

JDK1.5以后加入了一个新功能,取名泛型。用来限制某个集合只能装入某一种指定的类型。这样做是因为在集合里,装入的对象没有类型限制,但实际上写程序的时候,我们更习惯把对象按类型分门别类的进行存放。而且由于没有限制,在取得对象时,都需要判断对象的类型,然后强转,这样既增加了代码量,也容易造成异常。

JAVA面试题及答案13、谈谈&&和&的区别

&&是短路和,&是和,它们都是布尔运算符。用于判断一个表达式的真假,必须要它们前后的表达式全部为真,整个表达式的值才会为真,只要前后表达式有一个为假,那么整个表达式都为假。它们的区别在于:&&在判断时,如果前面的表达式为假,将不会判断后面的表达式,直接给出整个表达式为假的结果;&在判断时,即使前面的表达式为假,也会把后面的表达式执行过后,再给出整个表达式为假的结果。

JAVA面试题及答案14、System.out和System.in是什么意思?

System是一个最终类,包含有标准输入输出流等属性,还有对外部属性或变量访问等方法。System.out是标准输出流,一般对应的是显示器输出,或由用户指定另外的输出目标。System.in是标准输入流,一般对应的是键盘输入,或由用户指定另外的输入源。

JAVA面试题及答案15、java为什么能够跨平台?

JAVA的源文件编写好了之后,会被编译器转化成CLASS文件,再交给虚拟机进行类加载和字节码校验器,这些步骤和平台都是无关的,不像其它的语言,源代码经过编译器就和操作系统对应了。而JAVA的CLASS文件随后会经过解释器,不同的操作系统对应的解释器是不一样的,这样,被编译过的CLASS文件只需要经过特定的解释器,就能在特定的平台上运行,而无需重新编译。

未经允许不得转载:徐宏涛博客 » JAVA面试题及答案(1)

分享到:更多 ()

评论 抢沙发

评论前必须登录!