方法重写:
package com.lbj.javase10;public class Bird extends Animal {public void move(){System.out.println("鸟会飞");}
}
package com.lbj.javase10;public class Cat extends Animal{public void move(){System.out.println("猫会爬");}
}
package com.lbj.javase10;public class Animal {public void move(){System.out.println("动物都可以移动");}
}
package com.lbj.javase10;
/*** * 回顾java语言中的方法重载:* 1.方法重载又被称为Overload* * 2.方法重载什么时候使用:* 在同一个类当中,方法完成的功能是相似的,建议方法名相同,这样方便程序员的编程* 就像在调用一个方法一样。代码美观* * 3.什么条件满足后构成方法重载:* *在同一个类中* 方法名相同* 参数列表不同:类型、顺序、个数* * 4.方法重载和什么无关:* *和方法的返回值类型无关* *和方法的修饰符列表无关* * * *------------------------------------------* * 关于java语言中方法的覆盖:* * 1.方法覆盖又被称为方法重写:override【官方的】/overWrite* * 2.什么时候使用方法重写?* 当父类中的方法已经无法满足当前子类的业务需求* 子类有必要将父类中继承过来的方法进行重新编写* 这个编写的过程称为方法重写,也叫做【方法覆盖】* * 3.什么条件满足之后方法会发生重写呢?【代码满足什么条件后,就构成方法的覆盖呢?】* *方法重写发生在具有继承关系的父子关系之间【这是重写发生的前提条件】* *方法重写的时候:返回值类型相同,方法名相同,形参列表相同* *方法重写的时候:访问权限不能更低,可以更高* *方法重写的时候:抛出异常不能更多可以更少【了解异常抛出后会解释】* * 4.建议方法重写的时候尽量复制粘贴,不要编写,容易出错,导致没有产生方法覆盖* * 5.注意:* 私有方法不能继承,所以不能覆盖* 构造方法不能继承,所以不能覆盖* 静态方法不存在覆盖【了解多态后可以解释】* 覆盖只针对方法,不谈属性* * * @author 14811**/
public class OverrideTest01 {public static void main(String[] args) {//创建动物对象Animal a=new Animal();a.move();//创建猫科类动物对象Cat c=new Cat();c.move();//创建飞禽类动物对象Bird b=new Bird();b.move();}}