JAVA 我其实搞不懂您刚才说的父类和子类的那个异常,可否详细说下
答案:5 悬赏:30 手机版
解决时间 2021-04-02 13:00
- 提问者网友:我们很暧昧
- 2021-04-02 00:02
JAVA 我其实搞不懂您刚才说的父类和子类的那个异常,可否详细说下
最佳答案
- 五星知识达人网友:夜余生
- 2021-04-02 00:34
1.首先说明父异常能捕获子异常是指:catch(Exception e){...}中的e,如果你catch了一个异常,这个异常必须是e的子类,不能使e的父类.
2.比如public void method() throws XXXException ,那么你的另一个类的A()方法调用到了这个method()方法,那么这个所谓的类的A()方法就是上层调用者.
3.不是固有行为!对于异常 JVM是善良的希望你进行处理,也就是try catch ,但是JVM也考虑到不是所有人都是好人,所以它约定了另一个处理方案,如果你不处理 你也可以选择抛出 ,抛出的异常交给调用者处理,调用者也不处理 ,最终一直抛 , 抛到JVM手里 , 那么JVM会迫不得已的进行处理
呵呵 字字手敲 望采纳 有何不解 继续提问 欢迎加入QQ群:246877875
2.比如public void method() throws XXXException ,那么你的另一个类的A()方法调用到了这个method()方法,那么这个所谓的类的A()方法就是上层调用者.
3.不是固有行为!对于异常 JVM是善良的希望你进行处理,也就是try catch ,但是JVM也考虑到不是所有人都是好人,所以它约定了另一个处理方案,如果你不处理 你也可以选择抛出 ,抛出的异常交给调用者处理,调用者也不处理 ,最终一直抛 , 抛到JVM手里 , 那么JVM会迫不得已的进行处理
呵呵 字字手敲 望采纳 有何不解 继续提问 欢迎加入QQ群:246877875
全部回答
- 1楼网友:青尢
- 2021-04-02 03:31
好绕的问题。。。
- 2楼网友:罪歌
- 2021-04-02 02:58
异常需要这么详细啊 我晕,java的异常 可能出现, 也有的是必然出现, 可能出现的地方需要try 如果没异常,它就过了. 如果有异常,那就是必然出现了. 编译可以过去,但不能运行. 所以把异常打印出来就知道怎么办了
- 3楼网友:持酒劝斜阳
- 2021-04-02 02:28
显然是有继承关系的异常才能叫父子
catch可以有多个且是有顺序的(有继承关系时)必须先catch子才catch爹,不然编译就报错
如果你只catch爹,子异常抛出时也能被捕获,如果你catch的异常和实际抛出的异常不是一类,他就会向上一层继续抛出直到被处理,比如你的a()方法是当前的异常声明方法,b()方法调a(),那么未被处理的异常就会抛给b(),简单的一句非运行时异常都需要声明,
3这句有点问题,如果处理了又不重新抛出当然不会再抛到上一层,异常和error是不一样的,程序是可以有异常的,异常是程序的一个分支而已,只要处理了程序就会完全正确的跑下去,当然有些异常的处理方式就是让他停止,但这在程序上叫正常,只是在逻辑上不对而已
catch可以有多个且是有顺序的(有继承关系时)必须先catch子才catch爹,不然编译就报错
如果你只catch爹,子异常抛出时也能被捕获,如果你catch的异常和实际抛出的异常不是一类,他就会向上一层继续抛出直到被处理,比如你的a()方法是当前的异常声明方法,b()方法调a(),那么未被处理的异常就会抛给b(),简单的一句非运行时异常都需要声明,
3这句有点问题,如果处理了又不重新抛出当然不会再抛到上一层,异常和error是不一样的,程序是可以有异常的,异常是程序的一个分支而已,只要处理了程序就会完全正确的跑下去,当然有些异常的处理方式就是让他停止,但这在程序上叫正常,只是在逻辑上不对而已
- 4楼网友:笑迎怀羞
- 2021-04-02 01:16
这个问题在一些情况下,情况分析如下:
1所覆盖的子类调用父类的方法在子类:
说这是具有超强显示来电。因为有一个子类和父类相同的方法,如果你只是写这个方法的名称,编译器无法知道你想要什么,其中,他自作聪明回去调用子类。在这种情况下,你要使用超显示你要调用父类中的一个方法!
调用父类的方法在其他类:
这个简单的。您可以创建(新!)类型的对象(父对象或子类对象),他将不得不调用父类或子类的方法,和多态性不冲突!
静态方法:
静态方法调用和绑定类,类的静态方法也被称为类的方法,那就是,这种方法属于这一类,不属于这一类,以创造出一个对象。静态方法,调用类的静态方法名来调用使用类名!静态方法的调用是一个静态方法,否则编译器会报错!
1所覆盖的子类调用父类的方法在子类:
说这是具有超强显示来电。因为有一个子类和父类相同的方法,如果你只是写这个方法的名称,编译器无法知道你想要什么,其中,他自作聪明回去调用子类。在这种情况下,你要使用超显示你要调用父类中的一个方法!
调用父类的方法在其他类:
这个简单的。您可以创建(新!)类型的对象(父对象或子类对象),他将不得不调用父类或子类的方法,和多态性不冲突!
静态方法:
静态方法调用和绑定类,类的静态方法也被称为类的方法,那就是,这种方法属于这一类,不属于这一类,以创造出一个对象。静态方法,调用类的静态方法名来调用使用类名!静态方法的调用是一个静态方法,否则编译器会报错!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯