方法的覆盖实战代码

方法的覆盖实战代码

/**
 *回顾方法的重载:
 *1.方法重载又称为overload
 *2.方法重载什么时候使用?
 *  当在同一个类中,方法完成的功能是相似的,建议方法名相同,这样方便程序员的编程,
 *  就像在调用一个方法似的,代码美观。
 *3.神魔条件满足之后构成方法重载?
 *   *在同一个类当中
 *   *方法名相同
 *   *参数列表不同:类型、顺序、个数
 *4.方法重载和什么无关?
 *   *和方法的返回值类型无关
 *   *和方法的修饰符列表无关
 *   
 * 关于方法的覆盖:
 * 1.方法覆盖又称为方法重写,override【官方】/overwrite
 * 2.什么时候使用方法重写?
 *  当父类的方法已经无法满足子类的业务需求,
 *  子类有必要将父类中继承的方法进行重新编写,
 *  这个重新进行编写的过程叫做方法重写/方法覆盖。
 * 3.什么方法满足之后方法会发生重写呢?【代码满足什么条件之后,就构成方法的覆盖呢?】
 *      *方法重写发生在具有继承关系的父子之间
 *      *返回值类型相同,方法名相同,形参列表相同。
 *      *访问权限不能更低,可以更高。
 *      *抛出异常不能更多,可以更少。【学了异常之后,就明白了】
 * 4.建议方法重写的时候尽量复制粘贴。不要自己写,容易出错。
 * 5.注意:
 *    私有方法不能继承,所以不能覆盖。
 *    构造方法不能继承,所以不能覆盖。
 *    静态方法不存在覆盖。【学了多态后才能明白。】
 *    覆盖只针对方法,不谈属性。
 **/

package day01.test008;

public class OverrideTest01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		//创建动物对象
		Animal a =new Animal();
		a.move();
		
		//创建猫科类对象
		Cat c = new Cat();
		c.move();
		
		//创建飞禽类对象
		Bird b = new Bird();
		b.move();
	}

}

package day01.test008;

//动物类
public class Animal {

	//动物都是可以移动的
 public void move() {
	 System.out.println("动物在移动");
 }
}
package day01.test008;


//猫科类
public class Cat extends Animal{
     public void move() {
    	 System.out.println("猫在走猫步");
     }
}

package day01.test008;

//飞禽类
public class Bird extends Animal{
   public void move() {
  	 System.out.println("鸟在飞翔");
   }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值