码迷,mamicode.com
首页 > 其他好文 > 详细

第九周课堂作业

时间:2015-11-16 00:34:26      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

一、怎样判断对象是否可以转换?

可以使用instanceof运算符判断一个对象是否可以转换为指定的类型:

程序截图:

技术分享

 

结果截图:

技术分享

 

 

 

二、类型转换

实验截图:

技术分享

 

结论:子类可直接赋给基类(基类变量=子类对象);基类的引用类型要传递给子类必须通过强制转换(子类变量=(子类名)基类对象);子类之间不可以进行转换。

 

 

技术分享

 

三、变态类

程序截图:

 

技术分享

程序截图:

 

技术分享

 

原因及结论:

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

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

 

四、关于异常

程序源代码:

import javax.swing.*;

class AboutException 

{

    public static void main(String[] a)

  {

      int i=1, j=0, k; k=i/j;

  try

      {

       k = i/j; // Causes division-by-zero exception //throw new Exception   

        ("Hello.Exception!");

       }

        catch ( ArithmeticException e)

            {

                     System.out.println("0. "+ e.getMessage());

             }

             catch (Exception e)

          {

                if (e instanceof ArithmeticException) System.out.println("0");

              else 

                 {    System.out.println(e.getMessage());

                    }

               }

                finally

               {

                         JOptionPane.showConfirmDialog(null,"OK");

                }

          }

}

程序截图:

 

技术分享

 (第7行中主函数Zero出现异常)

 

五、CatchWho.java

程序截图:

技术分享

 结果截图:

技术分享

 

六、finally语句块一定会执行吗?

 

 

结果截图:

技术分享

 结果截图:

技术分享

结论:finally语句不一定执行。

 

 

第九周课堂作业

标签:

原文地址:http://www.cnblogs.com/ygl888/p/4967697.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!