Day10
一、今天学习了异常以及线程的创建。问题点如下:
1、Jvm是怎么识别异常类型的?
查询源码,可以发现,每个类中都有提前设置好的Throw,一旦满足,集合抛出。
2、为什么子类只能抛出父类异常相同的异常或其子类?
2.1、在使用多态时,存在子类向上转型为父类的情况。Fu fu=new Zi();此时,该父类引用的子类对象只能使用父类中所有的方法,包括Zi类中重写的方法。
2.2已知,重写的方法的返回值类型,方法名称,参数列表都与父类相同。
2.3、通过多态,调用被重写的方法时,是通过Fu类同名方法的入口进入,JVM通过偏移查询是否有重写,有则再执行重写后的方法。(怎么通过偏移查询目前还不了解)
2.4、如果子类方法Throws了与父类完全不同的异常,在运行中会通过父类入口调用方法,但父类中并没有声明Throws该异常,遇到了无法处理。
2.5.综上,子类只能抛出父类异常相同的异常或其子类。
二、栈与队列ing
