关于java语言当中的方法的覆盖
-
1.方法覆盖又被称为方法重写,英语单词:override【官方】/override
-
2.什么时候使用方法重写?
当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法进行重新编写,这个重新编写的过程称为方法重写/方法覆盖
-
3.什么条件满足之后方法会发生重写呢?【代码满足之后,就构成方法的覆盖?】
方法重写发生在具有继承关系的父与子之间
方法重写的时候:返回值类型相同,方法名相同,形式参数相同
方法重写的时候:访问权限不能太低,可以更高
方法重写的时候:抛出异常不能更多,可以更少。
-
4.建议方法重写的时候尽量复制粘贴,不要编写,容易出错,导致没有产生覆盖
-
5.注意:
私有方法不能继承,所以不能覆盖
构造方法不能继承,所以不能覆盖
静态方法不存在覆盖。
覆盖只针对方法,不谈属性。
关于java语言当中的方法重载
-
1.方法重载又称为Overload
-
2.方法重载在什么时候使用?
当在同一个类中,方法完成的功能是相似的,建议方法名相同,这样方便程序员的编程,就像在调用一个方法似的。代码美观。
-
3.什么条件满足之后构成方法重载?
在同一个类当中,方法名相同,参数列表不同:类型,顺序,个数
-
4.方法重载和什么无关?
和方法的返回值类型无关
和方法的修饰符列表无关
示例代码:
class Animal {
public void move(){
System.out.println("动物在移动!");
}
}
class Cat extends Animal {
public void move() {
System.out.println("猫在走猫步!");
}
}
class Bird extends Animal {
public void move() {
System.out.println("鸟儿在飞翔!");
}
}
class YingWu extends Bird {
//这里的move方法覆盖的是Bird当中的move方法
public void move() {
System.out.println("鹦鹉飞不起来!");
}
}
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();
//创建鹦鹉类对象
YingWu y = new YingWu();
y.move();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/94327.html