Java方法重写
当子类中具有与父类中声明相同的方法,我们称之为方法覆盖
Java方法覆盖的用法
- 方法重写用于提供有别于超类提供的方法的特定实现
- 方法重写用于运行时多态性
Java方法覆盖的规则
- 方法必须与父类中的名称相同。
- 方法必须具有与父类中相同的参数
- 子类和父类之间必须是继承关系
不使用方法覆盖会产生什么问题呢?
下面让我们来了解如果在程序中不使用方法覆盖可能面临的问题
class Car{
void run() {
System.out.println("Car is running!");
}
}
class Bus extends Car{
public static void main(String args[]) {
Bus obj = new Bus();
obj.run();
}
}
-----运行以上代码,将输出以下信息----Car is running!
此时我们需在Bus类中重写run方法,才能使用Bus类拥有正确的run动作
例:
class Car{
void run() {
System.out.println("Car is running");
}
}
class Bus extends Car{
void run() {
System.out.println("Bus is running");
}
public static void main(String args[]) {
Bus obj = new Bus();
obj.run();
}
}
----运行以上代码,将输出以下信息------
Bus is running
方法覆盖注意事项:
静态方法不可以覆盖(重写),只能通过多态来实现另类重写
因为静态方法是在类上,不是对象上,所以不会通过实例化对象修改其方法内容
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。