有关JAVA中父类和之类的问题?

2025-01-08 09:31:40
推荐回答(2个)
回答1:

不是你想的那样,比如try{}catch(Exception e){}因为Exception是其它异常的基类,当try中出现所有的异常他都会扑获,比如try中出现的是IOException那么上面写的是可以扑获的,但如果try{}catch(IOException e){}当出现NullPointException的时候他就扑获不了,也就是说,父异常可以扑获子异常,但子异常“不一定”能扑获父异常。其时类的继承是这样的:
当上塑造型的时候才会动态的去调用子类的成员方法,如A a=new B();此时你调用a的成员方法(如果子类重构了父类的这个方法的时候)那么会自动调用子类的这个方法,但A a=new A(),那么他只会调用a自己的方法,即使有子类重构了这个类的某个方法!

回答2:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

一个父类可以有许多个子类,这子类之间是并列的,父类可以包含每个子类的对象,所以以异常对象举例来说,父类能捕获所有他的子类的异常,而子类之间就是并列的异常,所以不能互相捕获,所以子类就不能捕获父类的异常!

父类 > 所有子类
子类1 != 子类2