抽象类与接口、异常相关测试与总结

第三次测试

抽象类和接口、异常

1. 接口中所有数据域的完整修饰词都是___public static final_____;

而所有方法的完整修饰词都是____public abstract_____。

2. 抽象类能否用作数据类型?如果能,请给出演示示例。

能,如创建一个抽象类型的数组。或者声明一个抽象类类型的引用变量。

 

3. 为什么要使用抽象方法?

简单的说,就是为了实现多态。

 

4. 语言中,下列哪一子句是异常处理的出口 (C)

A try{?}子句B、catch{?}子句C、finally{?}子句D、以上说法都对

 

5. 对程序语言而言,一般有编译错误和__运行__错误两类。

 

 

6. 下面说法为真还是为假?

a. 除了不能使用new操作符外,一个抽象类可以像非抽象类一样使用。(√)

b. 抽象类可以被继承。                                         (√) 

c. 非抽象的父类的子类不能是抽象的。                           (×) 

d. 子类不能将父类中的具体方法重写,并定义为抽象的。           (×)

e. 抽象方法必须是非静态的。                                   (√)

因为静态方法不参与多态。

 

7. 请定义一个名为Test的接口。然后定义一个Test2类继承Test接口。

public interface Test{}

 

public class Test2 implements Test{}

 

8. 接口可以用哪些修饰符修饰?

一种是缺省的,即默认为包私有的,只能在同一包中使用;另外还有public,protected,private。

以及static,abstract.

 

9. 为什么要使用接口?

接口是一种规范、标准,目的指明相关或者不想关的类的多个对象的共同行为。同时也正在一定程度上实现了多态性。

 

10. 请写出异常处理的三种操作:  声明异常  、  抛出异常  、  捕获异常   。

 

11. 异常有哪两种?   免检异常        必检异常     (或者运行时异常与非运行时异常)

 

12. 如果父类的catch块出现在子类的catch块之前,会导致什么错误?为什么?

会出现编译错误,因为如果先捕获了父类异常,则再捕获子类的异常是没有意义的。

 

 

 

 

 

 

 

13. 请写出下面源码的输出结果

public class TestIOE {

public static void main(String[] args) {

int []a = new int[5];

try {

System.out.println(1/0);

a[5]=0;

int i=(int) 1.5;

} catch (ArithmeticException e) {

System.out.println("除数不能为0");

}catch (ArrayIndexOutOfBoundsException e) {

System.out.println("数组越界");

}catch (Exception e) {

System.out.println("其他异常");

}

finally{

System.out.println("程序正常结束");

}

}

}

 

输出结果:

除数不能为0

程序正常结束


再转载两篇其他大牛写的文章。、

大牛们都已经理解的比较透彻了,作为一个小白,能够自己总结当然是最好不过,但是时间的积累代码的熟练远远不够,

还是吸收一些前人的劳动成果,也是不错的。先看别人的理解,等自己写多了自然会有了自己的体会。



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值