动手动脑课堂作业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如果子类被当作父类使用,则通过子类访问的字段是父类的.

时间: 2024-08-02 10:55:16

动手动脑课堂作业7---------的相关文章

动手动脑与作业

一.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:请编写一个程序,使用上述算法加密或解密用户输入的英文字串. 1.设计思想 输入数据后,输入数字n,若n>5,则为加密过程,数据按ASCII码转化为int型,转化得来的数字加数字做为加密后的数据,再将这些数据转化为字符,这就是加密.若n<5,则为解密过程,数据按ASCII码转化为int型,转化得来的数字减数字做为解密后的数据,再将这些数据转化为字符,这就是解密. 2.程序流程图 3.源代码 //信1403-1班 张妞妞   加解密 imp

动手动脑课堂练习

一.原码.反码和补码 (出处:http://www.cnblogs.com/zhangziqiu/ ) 1.机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. (1).机器数 一个数在计算机中的二进制表示形式,  叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011.如果是 -3 ,就是 10000011 .那么,这里的 00000011 和 100

动手动脑java作业

1.程序截图 第一个false:判断s和t里的值,不同则输出false 第二个false:当且仅当这个类表示一个基本类型此方法返回true 第三个true:判断s和u里的值,相同则输出true 最后则是列出Size的所有值. 其中的问题: //s和t引用同一个对象?不是 //是原始数据类型吗?不是 2.计算机的原码.补码和反码: 1.原码:原码表示法是机器数的一种简单的表示法.其符号位用 0表示正号,用1表示负号,数值一般用二进制形式表示. 2.补码:机器数的补码可由原码得到.如果机器数是正数,

动手动脑+课后作业

一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 二.代码MethodOverLoad有什么特殊之处? 使用了同一种方法但是是不同类型. 这是"方法重载",构成重载的条件:1.方法名相同(square) 2.参数类型不同(int,double),参数个数不同或参数类型的顺序不同. 三. (1) (2) (3) (4) (5)

Java动手动脑课后作业1-求创建对象个数

截图 //通过静态字段和构造函数知道所创建对象个数 //刘启明,October 17,2015 package Demo; class ObjectNumbers{ static int number=0; public ObjectNumbers()  { System.out.println("已经创建了"+(++number)+"个对象!!"); } } public class Search { public static void main(String[

课堂作业及 动手动脑问题整理

课堂作业一 使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 程序: package com; public class Duixiang { public static void main(String[] args){ duixiang a=new duixiang(); a.out(); duixiang b=new duixiang(); b.out(); } } class duixiang{ stati

Java动手动脑第四讲课堂作业

动手动脑1 完全"手写代码实现"随机数生成 纯随机数发生器 Modulus=231-1=int.MaxValue Multiplier=75=16807 C=0 当显示过231-2个数之后,才可能重复. 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private static final int LEFT = 40; private static fi

动手动脑(课堂作业05)

1,思考 class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); } } class Parent2 extends Grandparent { publi

第七讲 数组动手动脑和课后作业

[动手动脑1] 数据作为方法参数示例代码 int[] arr= new int[ 24 ]; -- modifyArray( arr ); 阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. // PassArray.java // Passing arrays and individual array elements to methods public class PassArray { public static void ma