Java面向对象 方法的重写
目录
- 重写
- 重写的规则
- 实例
- 创建Person类
- 创建Student类
- 测试
- 重载和重写的区别
重写
发生在子类和父类中,当子类对父类提供的方法不满意的时候,要对父类的方法进行重写。
重写的规则
子类的方法名字和父类必须一致,参数列表(个数,类型,顺序)也要和父类一致。
实例
创建Person类
public class Person {
public void eat(){
System.out.println("吃食物");
}
public void sleep(){
System.out.println("睡觉");
}
}
创建Student类
public class Student extends Person {
public void study(){
System.out.println("学习");
}
public void eat(){
System.out.println("我喜欢吃海底捞");
}
}
测试
public class Test {
//这是一个main方法,是程序的入口:
public static void main(String[] args) {
//创建一个Student类的对象:
Student s = new Student();
s.eat();
}
}
重载和重写的区别
- 重载和重写的区别:
- 重载:在同一个类中,当方法名相同,形参列表不同的时候 多个方法构成了重载
- 重写:在不同的类中,子类对父类提供的方法不满意的时候,要对父类的方法进行重写。
英文 | 位置 | 修饰符 | 返回值 | 方法名 | 参数 | 抛出异常 | 方法体 | |
---|---|---|---|---|---|---|---|---|
重载 | overload | 同一个类中 | 无关 | 无关 | 必须相同 | 必须不同 | 无关 | 不同 |
重写 | override | 子类父类中 | 父类的权限修饰符要低于子类的 | 父类的返回值类型大于子类 | 必须相同 | 必须相同 | 小于等于 | 不同 |