什么是方法覆盖(override)并说明方法覆盖与方法重载(overioad)的区别

解析:方法覆盖是一个非常重要的概念,是多态性的一个体现。方法覆盖发生再去爱继承关系中,当子类需要修改从父类继承到某个方法的方法体时,就可以声明一个父类同名同参数同返回值的方法,这样就对父类中的那个方法进行了覆盖,子类对象调用该方法时将自动绑定到子类中的方法。API中很多类中都进行了方法覆盖,如String类中的toString方法,就覆盖了父类Object中的toString方法。

参考答案:覆盖是发生在继承关系的子类中,当子类要修改从父类继承的某个方法的方法体时,就可以在子类中声明一个与父类同名、同参数并且同返回值类型的方法,这就是方法覆盖。而重载与继承没有关系,指的是在一个类中可以同时声明多个同名但不同参数的方法,称为重载。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
方法的重载(Overloading)和方法覆盖Override)都是面向对象编程中常用的概念,具有不同的用途和特点。 方法的重载指的是在同一个类中定义多个同名的方法,但是它们的参数列表不同(类型、个数、顺序等),编译器会根据实际参数的类型和数量来决定调用哪个方法,从而实现多态。重载方法的返回类型和访问修饰符可以相同也可以不同,但是方法名和参数列表必须不同。例如: ```java public class Calculator { public int add(int a, int b) { return a + b; } public double add(double a, double b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } ``` 上述代码中,Calculator 类中定义了三个名为 add 的方法,每个方法的参数列表不同,可以根据实际需要来调用不同的方法方法覆盖指的是在子类中定义一个与父类中同名、参数列表相同、返回类型相同或是子类类型的方法,从而覆盖父类中的同名方法,称为方法覆盖覆盖方法必须和被覆盖方法的访问修饰符相同或者更宽松,不能更严格。覆盖方法可以使用 super 关键字调用父类的同名方法,也可以重写父类的方法实现。例如: ```java public class Animal { public void move() { System.out.println("Animal can move"); } } public class Dog extends Animal { public void move() { super.move(); System.out.println("Dog can run and walk"); } } ``` 上述代码中,Animal 类中定义了一个 move 方法,然后在 Dog 类中覆盖了该方法,并且使用 super.move() 调用了父类的 move 方法,从而在输出中同时显示了 Animal 和 Dog 的 move 方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值