java 子类重写父类的方法,父类怎样使用子类独有的方法

重写和重载

重写是继承的时候,重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。
重载,是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。重载可以避免使用完全不同的方法来完成几乎相同的任务,可以使方法根据受到的参数的不同,执行不同的操作。

子类重写父类的方法

子类重写了父类的方法,如果用父类的对象去调用,就会使用父类的实现
如果用子类的对象去调用,就会使用子类的实现。
如果是父类的声明,子类的对象:

Father father = new Son();

上述father
(1)在Father类的main函数里面,可以直接访问Father没有被重写的方法
这是因为子类继承了这些方法,子类可以继承父类允许访问的变量和方法
(2)在Father类的main函数里面,想访问子类的重写过的方法或者子类独有的方法,必须要强制类型转换。

(Son)father.SonFunction

(3)在Father类的main函数里面,某方法被子类重写过,但是想调用Father类被重写之前的实现方法,就是指子类的对象要调用父类被重写之前的方法。
需要在子类的实例方法中,使用super关键字调用父类的方法。
使用super关键字访问超类:
只能在子类的构造函数或非静态方法(实例方法)中访问。

(4)在Son的main函数里面,可以直接访问Son的所有方法,包括重写过的父类方法。
(5)在Son的main函数里面,如果调用子类独有的办法,需要强制类型转换

(Son)father.SonFunction

综上,如果是父类声明,子类实例化,想调用子类独有的方法,必须要强制类型转换。

原创文章 64 获赞 27 访问量 9431

猜你喜欢

转载自blog.csdn.net/weixin_44893585/article/details/103644452