Java中方法的重载与重写举例比较
前言
提示:这里可以添加本文要记录的大概内容:
方法的重载与重写容易混,所以单独拿出来比较
提示:以下是本篇文章正文内容,下面案例可供参考
方法重载
在同一个类中,允许定义一个以上同名的方法称为方法重载
方法重载的规则:
- 方法名相同
- 方法的参数必须不同,参数类型或参数个数不同
- 方法的重载与返回值类型无关
public class 方法重载 { public static void m1(int x) { System.out.println("第一个m1"); } public static void m1(double y) { System.out.println("第二个m1"); } public static void main(String[] args) { m1(4.0); } }
方法重写
子类将从父类中继承下来的方法重新实现,叫方法重写(重新编写方法体)
方法重写的规则:
- 方法名相同
- 参数相同
- 返回值类型形同
- 访问权限不小于父类
- 抛出的异常声明不大于父类
当我们要重写一个方法时,我们可以在子类中定义一个同名的方法,使用@Override注解标注该方法,来表明我们要重写父类中的方法。
下面是一个重写方法的例子:
public class Animal { //父类 public void move() { System.out.println("动物在移动"); } } public class Dog extends Animal { //子类 @Override public void move() { System.out.println("狗在跑"); } public static void main(String[] args) { //测试 Animal animal = new Animal(); Dog dog = new Dog(); animal.move(); // 动物在移动 dog.move(); // 狗在跑 } }
在上面的例子中,我们定义了一个Animal
类和它的一个子类Dog
Animal
类中有一个move()
方法,它用来输出一句话“动物在移动”
在Dog
类中重写了move()
方法,并在该方法中输出了一句话“狗在跑”
当我们调用move()
方法时,如果调用的是Animal类的对象,就会输出“动物在移动”,如果调用的是Dog
类的对象,就会输出“狗在跑”。
这就是方法重写的作用,它让我们在子类中可以重新定义父类中的方法,并且可以根据需要修改其行为。
总结
到此这篇关于Java中方法的重载与重写的文章就介绍到这了,更多相关Java方法的重载与重写内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
最新评论