• 动手动脑课堂作业7---------


    动手动脑1

    CatchWho.java运行结果:

    CatchWho2.java运行结果:

    EmbedeFinally.java运行结果:

    finally语句块一定会执行吗?

    SystemExitAndFinally.java运行结果:

    只有与 finally 相对应的 try 语句块得到执行的情况下,finally 语句块才会执行。如果在try语句块之前返回(return)或者抛出异常,try对应的finally语句块就不会执行。

    动手动脑2

    如何跟踪异常的传播路径?

    • 当程序中出现异常时,JVM会依据方法调用顺序依次查找有关的错误处理程序。
    • 可使用printStackTrace 和 getMessage方法了解异常发生的情况:
      • printStackTrace:打印方法调用堆栈。
      • 每个Throwable类的对象都有一个getMessage方法,它返回一个字串,这个字串是在Exception构造函数中传入的,通常让这一字串包含特定异常的相关信息。

    PrintExpressionStack.java运行结果:

    动手动脑3

    回答问题

    .   左边的程序运行结果是什么?

    2.   你如何解释会得到这样的输出?

    在调用的时候,对象是子类的,就调用子类的方法,对象是父类的就调用父类的方法。

    3.  计算机是不会出错的,之所以得到这样的运行结果也是有原因的,那么从这些运行结果中,你能总结出Java的哪些语法特性?

    1当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的“真实”类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法。这个特性实际上就是面向对象“多态”特性的具体表现。

      2如果子类与父类有相同的字段,则子类中的字段会代替或隐藏父类的字段,子类方法中访问的是子类中的字段(而不是父类中的字段)。如果子类方法确实想访问父类中被隐藏的同名字段,可以用super关键字来访问它。

    3如果子类被当作父类使用,则通过子类访问的字段是父类的.

  • 相关阅读:
    前端使用 node-gyp 构建 Native Addon
    CHANGELOG 的实现
    深入 JavaScript 中的对象以及继承原理
    使用electron进行原生应用的打包(2)---主进程与渲染进程之间的通信
    使用electron进行原生应用的打包
    Babel编译
    HTML布局四剑客-Flex,Grid,Table,Float
    关于vtt 与 srt 字幕 的相互转换
    关于websocket
    关于jQuery中nth-child和nth-of-type的详解
  • 原文地址:https://www.cnblogs.com/qingqing2015/p/4965078.html
Copyright © 2020-2023  润新知