方法重写

方法重写
子类可以继承到父类的属性和方法,但是有些方法,子类的实现与父类的方法可能实现的不同。
当父类提供的方法已经不能满足子类的需求时,子类中可以定义与父类相同的方法。
子类方法完成对父类方法的覆盖,又叫重写(Override)

package Override;

public class Animal {
/**
 * 父类
 * 定义所有的动物都会叫
 * 
 * 
 * **/
	public void bark() {
		System.out.println("bark~");
	}
	//子类Dog继承父类Animal
 
	//子类Cat继承父类Animal
class Cat extends Animal{
	@Override  //方法的重写
	public void bark() {
	System.out.println("miao~");
	}
	
		
	}
//Dog类继承Animal类
class Dog extends Animal{
@Override //方法的重写
public void bark() {
	System.out.println("wang~");	
}
}
}
//注意,在这里其实我写的时候存在一个bug,子类Dog和子类cat都写在了父类当中,所以在Test类当中,两个子类的创建对象的方式也相应发生了改变,有大佬知道为啥要这种方式进行创建对象吗?

在Test类当中进行实例化

package Override;


public class Test {
public static void main(String[] args) {
	//实例化一个Animal对象
	Animal animal=new Animal();
	animal.bark();
	
	//实例化一个Dog对象
//Animal.Dog dog =new Animal.Dog();
	//dog.bark();
	//实例化一个Cat对象
	Animal.Cat cat =animal.new Cat();//这里实例化对象的区别
	cat.bark();
	Animal.Dog dog =animal.new Dog();//这里实例化对象的区别
}
}

重写的注意事项
1。方法名必须和父类一致
2。参数列表必须和父类一致
3。方法的访问权限需要大于等于父类方法的访问权限
4。方法的返回值需要小于等于父类的返回值类型

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值