🙋♂
方法重写也叫方法覆盖,需满足以下条件
1.子类的方法的形参列表,方法名称,要和父类的形参列表,方法名称完全一样
2.子类方法的返回类型和父类方法返回类型一样, 或者是父类返回类型的子类
比如 父类 返回类型是 Object , 子类方法返回类型是 String
3.子类方法不能缩小父类方法的访问权限 (public>protected>默认>private)
4.方法的重写和重载比较
📒主方法
package Ovreride;
public class OverrideExcercise {
public static void main(String[] args) {
Person person=new Person("jack",10);
System.out.println(person.say());
Students students=new Students("smith",10,"12345",99);
System.out.println(students.say());
}
}
📒Person类
package Ovreride;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String say(){
return "名字="+name+",年龄="+age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
📒Students类
package Ovreride;
public class Students extends Person{
private String id;
private double score;
public Students(String name, int age, String id, double score) {
super(name, age);
this.id = id;
this.score = score;
}
public String say(){
return super.say()+",id="+id+",score="+score;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}