Java常见面试题分享

大家好,我又来啦!今天又给大家带来了几道java基础的常见的面试题,希望能对大家有所帮助哦.有什么问题可以直接发文评论哦,感谢大家的支持! 

1、静态块和实例化块分别在什么时候执行?

静态块在类加载时执行,只执行一次。

实例化块在产生对象时执行,每产生一个对象执行一次,在super()之后执行。

2、什么是内部类?内部类class文件是怎样命名的?

在一个类中再定义一个类,称为内部类。内部类相当于外部类的属性,内部类对象的产生必须依赖于外部类对象。

内部类class文件的命名规则:外部类名$内部类名.class

3、什么是多态?多态有什么特点?

扫描二维码关注公众号,回复: 8103468 查看本文章

多态是指,允许使用父类变量引用子类对象,允许使用接口变量引用实现类对象,但反过来却不行。

多态的特点:相同的行为,不同的实现方式。

4、什么是抽象类?什么是抽象方法?

如果一个方法只有定义,没有具体的内容,称为抽象方法,用abstract修饰。

用abstract修饰,并允许该类中定义抽象方法的类称为抽象类。

5、接口如何定义?实现接口用什么关键字?一个类实现接口必须做什么?

定义接口:interface

实现接口:implements

一个类实现接口,需要重写该接口中定义的所有抽象方法,否则该类只能是抽象类

6、接口中定义的方法修饰符是什么?接口中定义的变量修饰符是什么?

接口中定义的方法修饰符为:public abstract

接口中定义的变量修饰符为:public static final

7、什么是异常?Error和Exception有什么区别?

异常是描述出错信息的对象。

Throwable是父类,有两个子类:Error和Exception。

Error表示崩溃级别的出错,开发者可以捕获,但无法处理。

Exception表示普通级别的出错,开发者可以捕获,可以处理。

8、异常的执行顺序怎样?如果在try块中有return,finally会执行吗?

先执行try块,顺序执行,如果发生异常转到catch块执行,同时中止try块中的其余代码。无论是否有异常,都会执行finally块。

如果在try块或catch块中有return语句,finally会在跳出方法前执行。

9、throw 和throws的区别是什么?

throw是语句,表示显式抛出异常对象。throw new Exception();

throws是方法修饰符,表示该方法可能会抛出某种异常。在调用该方法时,需要处理该方法抛出的异常。

10、异常分为几种?如何区分?

异常分为编译期异常(检查异常)和运行期异常(非检查异常)。

其中编译期异常,要求开发者必须处理。如果不处理,无法通过编译。

运行期异常,开发者可处理,可不处理。如果不处理,也可以通过编译。

所有运行期异常是RuntimeException的子类。

下一期我将给大家讲讲关于Java多态的知识,有需要的朋友可以看看哦

猜你喜欢

转载自www.cnblogs.com/lyslyslyslyslys/p/12001475.html