00:00
那么这块呢,咱们接着再往下看啊,之前我们还有个遗留的问题,各位。Exception test17。之前在讲解什么呀,方法覆盖的时候。当时遗留了一个问题,什么问题呢?就是。呃,重写之后的方法不能比重写之前的方法抛出更多的异常,可以更少。重写之后的方法不能比重写之前的方法抛出更多的异常,或者是更宽泛的异常。更宽泛的一场可以更少。啊,啥意思呢?我在这写个class animal。就现在可以解释一下啊,来这边呢,有个方法叫做什么呀,Do some do some。
01:04
那么假如说你这个do some方法,哎,我在这里有个class叫cat cat继承谁啊,Animal,那么继承animal之后呢,接下来。啊,这个animal这个类可能有了不是。Class k去继承animal。嗯。哎哟,写错了吧,啊,我说呢animal啊,然后接下来在这呢,我怎么着呢,就就重写啊,重写这个方法拿过来在这儿能不能父类不抛,子类能不能跑,你看不行。不允许,我在这里再提示一下啊,在语法上你要问我为啥这个解释不了啊,就是王八的屁股规定。啊,它是规定的。所以这块的话,你要知道啊,不能这么做,那假如说现在的话,我们在这儿呢,有个方法叫do other to other呢,这个地方我抛出一个exception。那么现在我再重写这个方法的时候,大家看看我不抛行不行,没问题对吧,这个编译报错啊,那再往下呢,这个呢,编译正常啊,这个没问题,那如果说我现在不抛。
02:20
可以。那我抛出exception行不行,那没问题,你负类抛exception,我子类重写之后抛exception也是可以的,所以这个也是编译正常啊,编译正常各位没问题啊,这都是没问题的,那么接下来如果说我负类这块抛出exception,那我子类在这个地方我只抛一个non point exception行不行?这个也是怎么着啊,编译正常,各位啊,编译正常就是说。有一个语法规则,你需要再,我需要在这里再重申一下,你需要再记一记,就是说复类当中的方法,如果此类再重启的时候,父类。
03:02
这个子类重写之后的这个方法,不能比父类抛出更多的异常,可以更少。明白什么意思吧,你不抛我此类就不能抛。如果你抛了,那我也可以抛,我也可以不抛。然后呢,我也可以抛出更小的范围,更小的是可以的。你这个规则记住就行了,各位啊,这是我又把这个叫方法覆盖当中的一个遗留的一个问题,在这里我再重申一下啊,再重申一下。好了,那么各位啊,我们在这里呢,就总结一下啊,总结一下,总结异常中的关键字,各位一共就五个,Try catch finally throw throw。对不对啊,哎,这三个是一块的,各位啊,这三个是一块儿的,是异常处理当中的TRY,尝试开始捕捉finish,最必须执行的throws是在方法声明的位置上使用。表示上报啊,在方法声明位置上使用表示上报异常信息给调用者。
04:10
那么这个呢,是手动抛异常啊,手动抛出异常,各位啊,手动抛异常,这个是异常捕捉。啊,异常捕捉。啊,这个是异常补充。一共就五个关键字,Try catch。啊,这个就是我们今天讲的所有异常相关的东西,各位啊,这个章节就算是结束了。整个这个异常就结束了,各位,下节课我们就要换新的东西了,叫做集合。那父类不抛异常子类重写好像可以抛runtime exception。嗯,父类不抛异常子类重写,好像可以抛runtime exception。来我们看看啊,呃,在这块呢,我们看看能不能抛啊,这个东西怎么说呢,嗯,看一下。
05:04
抛一个runtime出来,Throw runtime exception,看看有没有错啊,没错,各位啊,没错,可以啊。可以这个可以啊,编译正常。啊,编译正常运行是异常,你可以随便弄是吧?哎,编译时异常怎么着啊,哎就不行了啊编译是异常就不行了,这可以啊,负类没抛,此类你可以抛,但是得是个运行日常可以抛啊。嗯,啊,一般情况下我跟大家说一下啊,我们以后的开发呀,一般都是这样的,复类方法咋写,我们子类方法就怎么写就完事。啊。各位一般都是复类方法怎么写,我们子类方法原封不动就复制粘贴过去就完事了,别的不动,一般以后的开发都是这样的,没有人去动这个心思,说复类里边这个方法抛完了之后类咋地咋地。啊。就是只是说这个代码你要追究那么细的话,呃,也可以去研究一下啊,也可以去研究一下,没问题啊没问题好了,那这样的话,咱们这个就结束了,各位啊,在下节课的话,咱们看的就是新的内容了啊新内容呃,一会儿呢,我把视频传一下,我把今天作业布置一下,我布置一道作业题。
06:11
啊,然后呢,大家呢,嗯,去把今天这个异常给它用进去好吧,啊,异常用进去啊。
我来说两句