Java重写总结

关于重写

基本定义:子类重新改写父类的方法即重写。
重写的原因:为了更加准确地描述子类的行为特征。
重写的注意事项:
1)重写后的方法访问权限(public protected 默认 private)需与父类相同或大于父类
2)父类中final、static修饰的方法,不允许被重写,但可以被继承
3)子类重写的方法,不允许static修饰
4)重写方法可以使用@Override注解
5)重写后的子类方法名必须与父类一致,参数列表除名字外其他必须一致
6)如果父类返回值类型为void或基本数据类型,则重写后的方法必须和父类保持一致
7)如果父类返回值类型为引用类型,则重写后的方法返回值要么与父类一致,要么是父类的子类

代码示例

//父类
public class Mammal {

	public void move() {
		System.out.println("正在移动......");
	}

}

//子类
public class Bat extends Mammal{
	@Override
	public void move() {
		System.out.println("靠翼飞行......");
	}

}

重写后的方法访问权限此时与父类相同,亦可大于父类。子类使用了@Override注解重写方法。重写后的方法与父类方法名均为move,返回值类型同为void。

public class Mammal {

	public final void move() {
		System.out.println("正在移动......");
	}

}

//子类
public class Bat extends Mammal{
	
	@Override//此时必然报错,final修饰的父类方法不允许被重写
	public void move() {
		System.out.println("靠翼飞行......");
	}

使用final或static修饰的父类方法不允许被重写故必然报错,但仍然可以被继承。

//父类
public class Mammal {

	public String move() {
		System.out.println("正在移动......");
		return " ";
	}

}

//子类
public class Bat extends Mammal{
	@Override
	public String move() {
		System.out.println("靠翼飞行......");
		return " ";
	}

父类返回值类型为引用类型,则子类返回值此时与父类一致,或者是父类的子类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值