JAVA之重写与重载

重写

什么是重写?
重写就是在子类中对于父类可以继承的方法的重新编写。

重写时父类的返回值与形参不可以改变!

举个例子:

 public static void main(String[] args) {
	  Child a=new Child();
	  
	  a.which();//执行Child的方法
	  Mother b= new Mother();
	  
	  b.Which();//执行Mother的方法
  }
	
}
 
 class Child{
	 public void which() {
		 System.out.println("小明");
	 }
 }
 
 class Mother extends Child{
	 //方法的重写
	 public void Which() {
		 System.out.println("小明的妈妈");
	 }

重写的注意点:

  • 父类的成员方法只能被他的子类重写
  • 声明为final和static的方法不能重写
  • 构造方法不可以重写
  • 子类只能重写可以继承的方法
  • 子类与父类在同一个包中,那么出private和final类的方法不可以重写外其余方法都可以重写。假如子类与父类不在一个包中,那么子类只能重写父类的public方法和非final的protected方法。

重载

什么是重载?
重载就是在一个类中方法名相同而参数不同、返回值可以不同。像我们经常使用的System.out.println()也是一种重载。
重载规则:

  • 被重载的方法参数的个数或类型不可以一样
  • 重载方法返回值可以不一样
  • 可以改变访问修饰符
  • 可以在子类中重载

举个例子:

public static void main(String[] args) {
	Child a=new Child();
	a.which(1,2);
	a.which();
	a.which(2);
  }
	
}
 
 class Child{
	 public void which() {
		 System.out.println("小明");
	 }
	 public int which(int a,int b) {
		 System.out.println(a+b);
		 return a;
	 }
	 public void which(int a) {
		 System.out.println(a);
	 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值