a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 98|回复: 0

[基础知识] JAVA面向对象编程课堂笔记18

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
开发中的两个道理: * \6 w* ^, P6 L' `& q
①如何控制try的范围:根据操作的连动性和相关性,如果前面的程序代码块抛出的错误影响了后面程序代码的运行,那么这个我们就说这两个程序代码存在关联,应该放在同一个try中。 ) E4 W2 F. p7 J3 T: }( F  q( o
①    对已经查出来的例外,有throw(积极)和try catch(消极)两种处理方法。
9 L/ r" X+ N9 \1 p9 ~4 h" }- Z" ?0 F对于try catch放在能够很好地处理例外的位置(即放在具备对例外进行处理的能力的位置)。如果没有处理能力就继续上抛。
. q/ }- O8 |7 R5 C/ ]- |( g- T  
$ H. N4 _- |4 K' w, V当我们自己定义一个例外类的时候必须使其继承excepiton或者RuntimeException。 4 F1 g5 r% R* r) e
Throw是一个语句,用来做抛出例外的功能。
" |0 a( }6 R4 b# m. _3 Q, j而throws是表示如果下级方法中如果有例外抛出,那么本方法不做处理,继续向上抛出。
2 O+ r% a* {; J, s! mThrows后跟的是例外类型。 , ]+ H( i, e- z, \) g# k
断言是一种调试工具(assert)
8 \/ f  n5 G$ V2 O其后跟的是布尔类型的表达式,如果表达式结果为真不影响程序运行。如果为假系统出现低级错误,在屏幕上出现assert信息。
% H: o, @3 @- y) ~+ yAssert只是用于调试。在产品编译完成后上线assert代码就被删除了。
5 c$ a- l: j. \  - y3 r+ R* R" K
方法的覆盖中,如果子类的方法抛出的例外是父类方法抛出的例外的父类型,那么编译就会出错:子类无法覆盖父类。 7 g, k* U% a+ s$ d- x/ g0 A
结论:子类方法不可比父类方法抛出更多的例外。子类抛出的例外或者与父类抛出的例外一致,或者是父类抛出例外的子类型。或者子类型不抛出例外。 0 |: H4 ?7 a# ?, U
如果父类型无throws时,子类型也不允许出现throws。此时只能使用try catch。 4 |+ |0 t4 u1 N& A) D
  
" E. B, X' G6 A7 P/ ]练习:写一个方法:int add(int a,int b) " m2 u, c' w# h5 {3 c
{
# B6 H6 z( o2 R' L$ F  return a+b;
& u1 `, h. l( v  G8 g}
0 F( Y/ }* ?; e) N当a+b=100;抛出100为异常处理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 18:58 , Processed in 0.248088 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表