java中的重载和重写

方法重载和方法重写

  • 方法的重载 : 在同一个类中,出现多个同名的方法,参数列表不同,与返回值类型,修饰符无关(同名 同类 不同参 (和返回值、修饰符无关))
  • 方法的重写 : 子类中出现和父类中一模一样的方法(包括返回值类型,方法名,参数列表)(同名 同参 不同类 (修饰符权限不能缩小 返回值必须相同))

为什么要方法重写

  • 当父类中的方法无法满足子类需求的时候,需要方法重写
  • 当子类具有特有的功能的时候,就需要方法重写

方法重写的注意事项

  • 重写的方法必须要和父类一模一样(包括返回值类型,方法名,参数列表)
  • 重写的方法可以使用@Override注解来标识
  • 子类中重写的方法的访问权限不能低于父类中方法的访问权限

权限修饰符 : private < 默认(什么都不写) < protected < public

重写的应用

  • 当子类需要父类的功能,而功能的主体子类还有自己特有的内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类自己特有的内容。

方法重写

class Pet{
 public void move(){
  System.out.println("动物可以移动");
 }
}
class Dog extends Pet{
 public void move(){
  System.out.println("狗可以跑和走");
 }
}
public class TestDog{
 public static void main(String args[]){
  Animal a = new Animal(); // Animal 对象
  Animal b = new Dog(); // Dog 对象
  a.move();// 执行 Animal 类的方法
  b.move();//执行 Dog 类的方法
 }
}

方法重载

class Pet{
 public void move(){
  System.out.println("动物可以移动");
 }
}
class Dog extends Pet{
 public void move(){
  System.out.println("狗可以跑和走");
 }
 public void bark(){
  System.out.println("狗可以吠叫");
 }
}
public class TestDog{
 public static void main(String args[]){
  Pet pet = new Pet(); // Pet 对象
  Pet1 b = new Dog(); // Dog 对象
  a.move();// 执行 Pet 类的方法
  b.move();//执行 Dog 类的方法
  b.bark();
 }
}

总结

重载

  • 同一个类中
  • 方法名相同,参数列表不同(参数顺序、个数、类型)
  • 方法返回值、访问修饰符任意
  • 与方法的参数名无关

重写

  • 有继承关系的子类中
  • 方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同
  • 访问修饰符,访问范围需要大于等于父类的访问范围
  • 与方法的参数名无关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值