第一部分 java基础
1、接口和抽象类的区别
接口是多实现,抽象类是继承。
接口支持回调,抽闲类不能支持回调。
接口多定义的是对象的行为,抽象类是定义的对象的属性。
如果是小的功能块用接口,如果是大的功能模块,用抽象类。
抽象类主要用在关系密切的对象,接口主要是通用功能。
2、java中的异常有哪几类,怎样使用?
java中的所有异常类的父类是Throwable ,才能被异常处理机制识别,jdk中有自定义异常。
Throwable包含Error和Exception两类,简单来说Error是错误的,致命的,程序Error就立刻停止,
Exception又包含了运行时异常(RuntimeException, 又叫非检查异常)和非运行时异常(又叫检查异常)
Error是程序无法处理了, 如果OutOfMemoryError、OutOfMemoryError等等, 这些异常发生时, java虚拟机一般会终止线程。
运行时异常都是RuntimeException类及其子类,如 NullPointerException、IndexOutOfBoundsException等, 这些异常是不检查的异常, 是在程序运行的时候可能会发生的, 所以程序可以捕捉, 也可以不捕捉. 这些错误一般是由程序的逻辑错误引起的, 程序应该从逻辑角度去尽量避免。
检查异常是运行时异常以外的异常, 也是Exception及其子类, 这些异常从程序的角度来说是必须经过捕捉检查处理的, 否则不能通过编译. 如IOException、SQLException等。
二、如何使用:
非检查异常表示无法让程序恢复运行的异常,导致这种异常的原因通常是由于执行了错误的操作。一旦出现错误,建议让程序终止。
受检查异常表示程序可以处理的异常。如果抛出异常的方法本身不处理或者不能处理它,那么方法的调用者就必须去处理该异常,否则调用会出错,连编译也无法通过。
对于运行异常,建议不要用 try…catch…捕获处理,应该在程序开发调试的过程中尽量的避免,当然有一些必须要处理的,自己知道了那个部分会出现异常,而这种异常你要把它处理的你想要的结果。
尊重原创,参考文献:
https://blog.csdn.net/qq_34309305/article/details/79202929
https://blog.csdn.net/itzhangdaopin/article/details/78710830
作者:刺風
链接:https://www.jianshu.com/p/a874e5d1bed1
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。