详述Java重写

详述Java重写

什么是重写?为什么要重写??

改变父类的方法,为了更准确的描述子类的行为特征

此处用代码举例,为了更具体的描述儿子在打什么游戏进行了方法的重写

  • 重写之前的代码
public class Father1{
	public void eat (){
		System.out.println("正在打游戏。");
	}
}
public class Son1 extends Father1 {

}
public class Test1{	
	
	public static void main(String [] args){
		Son1 son1=new Son1();
	}
}

输出结果正在打游戏

  • 重写之后的代码,只对Son1类进行修改
public class Son1 extends Father1 {
	
	@override
	public void play() {
		System.out.print("正在打英雄联盟");
	 }	
 }

输出结果:正在打英雄联盟

重写以后的特点

可以用@override注释修饰,如上例,但若是错误的重写,则会报错在这里插入图片描述

如何重写

  1. 重写后的访问权限要么和父类相同要么大于父类方法(public>protected>默认friendly>private),注意,父类中private修饰的方法对子类是不可见的,因此子类不能该方法进行修饰。
    在这里插入图片描述

  2. 父类中final修饰的方法,子类不允许重写,但可以被继承。

在这里插入图片描述在这里插入图片描述
3…父类中static修饰的方法,子类不允许重写,但可以被继承。
在这里插入图片描述
在这里插入图片描述

4.子类重写后的方法不能添加static修饰
在这里插入图片描述
5.重写后的方法,方法名必须和父类相同,参数列表除名字不做限制外其他必须相同
在这里插入图片描述

在这里插入图片描述

6.返回值

a.如果父类方法返回值为void或基本数据类型,则重写后的方法必须和父类方法保持一致
在这里插入图片描述
在这里插入图片描述

b.如果父类方法的返回值为引用类型,则重写后的方法返回值要么与父类一致,要么是父类方法返回值的子类(Object类是所有类的父类)
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值