zoukankan      html  css  js  c++  java
  • 动手动脑

    【问题一】下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么?

    m=d;

    d=m;

    d=(Dog)m;

    d=c;

    c=(Cat)m;

    先进行自我判断,得出结论后,运行TestCast.java实例代码,看看你的判断是否正确

    答:d=m;这个会引起编译错误,不兼容的类型:Mammal无法转换Dog

    d=c;这个会引起编译错误,不兼容的类型:Cat无法转换Dog

    c=(Cat)m;这个会引起运行时错误

    源代码:

    class Mammal{}

    class Dog extends Mammal {}

    class Cat extends Mammal{}

    public class TestCast

    {

    public static void main(String args[])

    {

    Mammal m;

    Dog d=new Dog();

    Cat c=new Cat();

    m=d;

    //d=m;

    d=(Dog)m;

    //d=c;

    //c=(Cat)m;

    }

    }

    【问题二】阅读代码(CatchWho.java),写出程序运行结果

     

    【问题三】阅读代码(CatchWho2.java),写出程序运行结果

     

    【问题四】请先阅读 EmbedFinally.java示例,再运行它,观察其输出并进行总结。

     

    【问题五】辨析:finally语句块一定会执行吗?请通过 SystemExitAndFinally.java示例程序回答上述问题。

    答:finally{}里面的句子,不管try{}catch{}是否捕获到异常,一定会执行,而finally{}后面的要看前面的try{}catch{}语句是不是发生异常。如果try{}里面的正常执行完后, finally 就做结束处理,那么finally{} 后面还有 那当然会执行;如果 try{} 发生异常到catch{}捕捉 或直抛出 然后要执行finally{}里面的,但是后面的就不会执行了。

     

  • 相关阅读:
    JavaScript 用new创建对象的过程
    从输入URL到浏览器显示页面发生了什么
    JS中的this对象详解
    JS事件
    vue如何正确销毁当前组件的scroll事件?
    pg创建存储过程批量提交
    mysql去掉明文密码不安全提示
    解决npm安装node-sass太慢及编译错误问题
    解决vs code编写python输出中文乱码问题
    EditPlus配置Java编译器
  • 原文地址:https://www.cnblogs.com/niujunyan/p/4960083.html
Copyright © 2011-2022 走看看