Java面向对象笔记(十一)重写、覆盖

一、概念

当子类出现和父类一模一样的函数时,当子类对象调用该函数时会执行子类的函数,这叫做重写(覆盖)。

二、应用

当子类具备和父类相同的功能,而功能的内容不同时,这时没必要定义新的功能了,可以直接重写(覆盖)即可。

三、注意

①子类覆盖父类,必须保证子类权限大于等于父类权限,才可以覆盖。

②静态只能覆盖静态。

③重载:只看同名函数的参数列表

重写:子父类方法要一模一样(方法返回值类型,方法名,参数列表相同,权限修饰符可以不同,但是必须保证第①条)

四、案例

//定义一个Animal类描述动物的共性
class Animal {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public void eat(){
		System.out.println("动物吃饭....");
	}
	protected void sound(){
		System.out.println("动物的声音....");
	}
}
//Cat类继承Animal类
class Cat extends Animal {	
	public void eat(){  //重写父类eat()方法
		System.out.println("猫吃鱼");
	}
	public void sound(){ //重写父类sound()方法
		System.out.println("喵喵喵");
	}
	public void showCat(){
		System.out.println("I am a cat");
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值