Java超类捕获和子类捕获

Java超类捕获和子类捕获,java,exception,try-catch,subclass,superclass,Java,Exception,Try Catch,Subclass,Superclass,我很困惑。以下两种说法准确吗 类的对象不知道或无法访问其任何子类 在异常处理主题上,超类捕获将捕获其所有子类 我想有些逻辑我没有看到。在1中,超类不知道子类,而在2中,超类知道子类。如果您对此有任何澄清,我们将不胜感激。这两种说法都是正确的。当执行“catch”子句时,它将获得异常的特定实例。它可以查看该实例的超类,并检查其中是否有任何超类与“catch”子句中指定的类匹配。它不需要检查“catch”子句中指定的类的所有可能的子类,因此语句1是正确的。是的,没错 类的对象不知道或无法访问其任何子

我很困惑。以下两种说法准确吗

  • 类的对象不知道或无法访问其任何子类

  • 在异常处理主题上,超类捕获将捕获其所有子类


  • 我想有些逻辑我没有看到。在1中,超类不知道子类,而在2中,超类知道子类。如果您对此有任何澄清,我们将不胜感激。

    这两种说法都是正确的。当执行“catch”子句时,它将获得异常的特定实例。它可以查看该实例的超类,并检查其中是否有任何超类与“catch”子句中指定的类匹配。它不需要检查“catch”子句中指定的类的所有可能的子类,因此语句1是正确的。

    是的,没错

  • 类的对象不知道或无法访问其任何子类

    对象是父类。认为它类似于现实世界的父母谁不知道有多少孩子,他们将有什么额外的特点,他们将有或他们将要做什么,除了我已经有了,即相同的功能与对象类,即平等/ hash码/等待/通知等,所以它安全地假设我的孩子会覆盖say equals if not对象类用于处理这些现有功能的所有内容

  • 在异常处理主题上,超类捕获将捕获其所有子类

    对。再次考虑与上面相同的例子。人们说“Jr.xyz你好吗?”人们也认识你,可以像“Hi-pqr”一样问候你,人们也用你父母的名字认识你。这里的概念类似。如果它在catch块中看到完全匹配,它将执行相同的块,否则它将转到其父catch块


  • 超类本身不知道它的子类,但是jvm知道,jvm正在做异常处理、多态性等工作