zoukankan      html  css  js  c++  java
  • Java面试之异常

    74. throw 和 throws 的区别?

    • throw:是真实抛出一个异常。
    • throws:是声明可能会抛出一个异常。

    75. final、finally、finalize 有什么区别?

    • final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变量不能在被改变,只能使用。
      • final的方法:方法不能当方法声明为final时,该方法不能被任何子类重写这个方法,但子类依然可以使用这个方法。
      • final参数:表示这个参数在这个方法的内部不允许被修改。

      • final类:当一个类声明为final时,此类不能被继承,所以的方法不能被重写。一个类不能既是abstract又是final。

    • finally:是 try{} catch{} finally{} 最后一部分,表示不论发生任何情况都会执行,finally 部分可以省略,但如果 finally 部分存在,则一定会执行 finally 里面的代码。
    • finalize: 是Object类的一个方法,在垃圾回收器执行时会调用被回收的对象的finalize()方法,可以覆盖此方法来实现对其他资源回收。

    76. try-catch-finally 中哪个部分可以省略?

    catch-finally可以省略其中一个

    好多人认为try-catch语句是放在一起不能省略的。其实try语句后面是可以省略catch语句的,但是必须有finally语句。也可以省略finally语句,但是必须要有catch语句。也就是说try语句后面必须要有一个别的语句跟在后面。有如下三种:

    try-catch
    try-finally
    try-catch-finally

    切记:catch和finally语句不能同时省略!!!

    77. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?

    finally 一定会执行,即使是 catch 中 return 了,catch 中的 return 会等 finally 中的代码执行完之后,才会执行。

    78. 常见的异常类有哪些?

    • NullPointerException 空指针异常
    • ClassNotFoundException 指定类不存在
    • NumberFormatException 字符串转换为数字异常
    • IndexOutOfBoundsException 数组下标越界异常
    • ClassCastException 数据类型转换异常
    • FileNotFoundException 文件未找到异常
    • NoSuchMethodException 方法不存在异常
    • IOException IO 异常
    • SocketException Socket 异常
  • 相关阅读:
    Android笔记(十)ListView
    GDI+ 怎样将图片绘制成圆形的图片
    自己定义View学习之12/7(进度条之混合模式)
    iOS_21团购_Popover适应iPad横竖屏切换
    SVNserver搭建
    SNMP报文抓取与分析(一)
    我的Vim配置(自动补全/树形文件浏览)
    U盘安装ubuntu server 14.04
    vim帮助手册汉化
    QT 信号与槽connect
  • 原文地址:https://www.cnblogs.com/mjtabu/p/12580406.html
Copyright © 2011-2022 走看看