把子类对象复制给父类,调用方法时调用的是父类的还是子类的

来源:全书馆 3.16W
把子类对象复制给父类,调用方法时调用的是父类的还是子类的

把子类对象复制给父类,调用方法时调用的是父类的。在Java中,当你将子类对象复制给父类对象时,实际上是创建了一个新的父类对象,其中包含了子类对象的所有属性和方法。因此,当你调用父类对象的方法时,实际上是调用了父类对象的方法,而不是子类对象的方法。

举个例子,假设你有一个父类Person,它有一个方法sayHello(),以及一个子类Student,它也有一个方法sayHello()。现在,如果你将一个Student对象复制给一个Person对象,那么这个Person对象就会包含一个Student对象的所有属性和方法,包括sayHello()方法。当你调用Person对象的sayHello()方法时,实际上是调用了Person对象的sayHello()方法,而不是Student对象的sayHello()方法。

需要注意的是,当你从子类继承父类的属性和方法时,子类对象可以访问父类对象的属性和方法,但是当你从父类继承子类的属性和方法时,父类对象无法访问子类对象的属性和方法,因为父类对象只包含了子类对象的属性和方法,而不包含父类对象的属性和方法。


热门标签