博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中异常注意问题(发生在多态是的异常问题)
阅读量:5814 次
发布时间:2019-06-18

本文共 1033 字,大约阅读时间需要 3 分钟。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/*
异常的注意事项:
1,子类在覆盖父类方法时,父类的方法如果抛出了异常,那么子类的方法只能抛出父类的异常或者该异常的子类。
2,如果父类抛出多个异常,那么子类只能抛出父类异常的子集。
简单说:子类覆盖父类,只能抛出父类的异常或者子类或者子集。
 
注意:如果父类的方法没有抛出异常,那么子类覆盖时绝对不能抛。子类不能抛出比父类多的异常。就只能try。。。catch
*/
class 
extends 
Exception{
     
A(String msg){
        
super
(msg);
     
}
}
 
class 
extends 
A{
    
B(String msg){
        
super
(msg);
     
}
}
 
class 
extends 
Exception{
     
C(String msg){
        
super
(msg);
     
}
}
 
/*
Exception
     
---A
        
---B
     
---C
*/
 
class 
Parent{
    
void 
show() 
throws 
A{
        
throw 
new 
A(
"抛出A异常!"
);
    
}
}
 
class 
Child 
extends 
Parent{
     
void 
show() 
throws 
B{
         
throw 
new 
B(
"抛出B异常!"
);
     
}
}
 
public 
class 
PC{
     
public 
static 
void 
main(String[] args){
         
new 
PC().methods(
new 
Parent());
     
}
      
     
static 
void 
methods(Parent p){
//如果参数是Parent 的子类,也就是多态时,子类中抛出了父类没有的异常类型,
                                   
//下面的代码那就不能被处理了!
         
try
{
            
p.show();
         
}
catch
(A e){
            
System.out.println(
"处理完异常!"
);
         
}
     
}
}

  

本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/3872781.html,如需转载请自行联系原作者
你可能感兴趣的文章
编玩边学获数千万元A轮融资,投资方为君联资本
查看>>
蓝图(Blueprint)详解
查看>>
Spark之SQL解析(源码阅读十)
查看>>
Android图片添加水印图片并把图片保存到文件存储
查看>>
比特币系统采用的公钥密码学方案和ECDSA签名算法介绍——第二部分:代码实现(C语言)...
查看>>
海贼王十大悲催人物
查看>>
BigDecimal 舍入模式(Rounding mode)介绍
查看>>
开源 免费 java CMS - FreeCMS1.2-标签 infoSign
查看>>
开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据
查看>>
git reset 三种用法总结
查看>>
hdfs笔记
查看>>
虚拟机新增加硬盘,不用重启读到新加的硬盘
查看>>
Java IO流详尽解析
查看>>
邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)...
查看>>
Linux VSFTP服务器
查看>>
DHCP中继数据包互联网周游记
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>