/**
* 回顾java语言中,方法的重载:
* 1、方法重载又称为Overload
* 2、方法重载什么时候使用???
* --当同一个类中,方法完成的功能是相似的,建议方法名相同,这样方便程序员编程。
* 就像在调用一个方法是的,代码美观
*
* 3、什么条件满足之后构成方法重载???
* --在同一个类中
* --方法名相同
* --参数列表不同:类型不同、个数不同、顺序不同
*
* 4、方法重载和什么无关???
* --和方法的返回值类型无关
* --和方法的修饰符列表无关
*
* 关于java语言中,方法的覆盖:
* 1、方法覆盖又被称为:方法重写,英语单词:override/overwrite
*
* 2、什么时候使用方法重写???
* --当父类中的方法无法满足当前子类的也无需求,
* 子类有必要对父类继承过来的方法进行重新编写,
* 重新编写的过程称为:方法重写/方法覆盖。
*
* 3、什么条件满足后方法会发生重写呢???【代码满足什么条件之后,就构成方法覆盖呢???】
* --方法重写发生在具有继承关系的父子类之间
* --方法重写的时候,方法名相同,返回值类型相同,参数列表相同
* --方法重写的时候,访问权限不能更低,可以更高
*
* 4、建议方法重写的时候 直接Ctrl c+v
*
* 5、注意:
* 私有方法不能继承,所以不能覆盖
* 构造方法不能继承,所以不能覆盖
* 静态方法不存在覆盖【多态后可以解释】
* 覆盖只针对方法,不谈属性
*/
public class OverrideTest {
public static void main(String[] args){
//创建动物对象
Animal a=new Animal();
a.move();
//创建猫科类动物对象
Cat c=new Cat();
c.move();
//创建飞禽类动物对象
Bird b=new Bird();
b.move();
//创建鹦鹉对象
YingWu d=new YingWu();
d.move();
}
}
//动物类
public class Animal {
//动物都会移动
//定义方法
public void move(){
System.out.println("动物在移动");
}
}
//飞禽类
public class Bird extends Animal{
public void move(){
System.out.println("鸟在飞!");
}
}
//猫科类
public class Cat extends Animal{
public void move(){
System.out.println("猫在走猫步!");
}
}
public class YingWu extends Bird{
public void move(){
System.out.println("鹦鹉飞不起来!");
}
}