怎么理解Java的转型对象

2024-10-31 05:33:40
有2个网友回答
网友(1):

我来提供一个比较靠谱的详细的解释,假设,A类是B类的父类,当我们用子类创建一个对象,并把这个对象的引用放到父类的对象中时,比如A a;
A=new B();

A a;
B b=new B();
a=b;
称这个父类对象 a,是子类对象b的上转型对象。好比说“老虎是哺乳动物”。对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。上转型对象具有如下特点:
1 上转型对象不能操作子类新增的成员变量(失掉了这部分属性),不能使用子类新增的方法(失掉了一些功能)。
2 上转型对象可以操作子类继承或重写的成员变量,也可以使用子类继承的或重写的方法。
3 如果子类重写了父类的某个方法后,当对象的上转型对象调用这个方法时一定是调用了这个重写的方法。

网友(2):

简而言之,就是超类的引用可以指向子类的对象。解析:子类继承了超类中的所有成员,在可以用到超类中的地方均可以用子类来代替。例如:A是超类,B是A的子类,原本可这样写
A a=new A();现在可以这样写:A a=new B();