Java重载与重写

什么是重载?

重载的是一个方法,即在同一个类里面,方法名字必须相同,参数必须不同(可以是参数类型不同,也可以是参数个数不同),返回类型可以相同也可以不同。
重载用的最多的地方就是构造器的重载。

重载的规则

1.重载的这个方法必须参数列表不一样;
2.重载的这个方法名必须一样;
3.重载的这个方法可以改变返回类型;
4.重载的这个方法可以改变访问修饰符;
5.重载的这个方法的检查异常可以更广也可以声明为新的异常;
6.可以在同一个类中被重载或者被子类重载;

重载的事例

public class  overload{
   public void cat(){
       System.out.println("cat likes eat fish!");
   }
   
   public int cat(int a){
      System.out.println("cat likes eat mouse!");
      return 1;
  } 
}

什么是重写?

重写是子类对父类的方法重写编写,返回值和参数列表都不能变,也就是外壳不变,里面的核心变。

重写的规则

1.父类的成员方法只能被它的子类重写。
2.参数列表必须完全与被重写方法的参数列表相同。
3.返回类型可以与被重写方法的返回类型不同,但是必须是父类返回值的派生类。
4.访问权限不能比父类中被重写的方法的访问权限更低。
5.声明为final、static的方法不能被重写。
6.子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
7.子类和父类不在同一包中,那么子类可以只能够重写父类声明为public和protected的非final方法。
8.构造方法不能被重写。

重写事例

class Animal{
    public void move(){
	   System.out.println("动物可以移动");
	}
}

class Dog extends Animal{
    public void move(){
	   System.out.println("狗可以跑和走");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值