子类继承父类后,类中各成员的特点
类的成员:属性 方法 构造器
1.方法的重写(方法的覆盖):Override 若父类中的方法对于子类来说不适用,子类可以对父类中的方法进行重写
子类继承父类后,若子类出现了与父类方法签名一模一样的方式时,创建子类对象
调用该方法,实际调用的子类的方法,如同将父类的方法覆盖一样-------方法的重写(方法的覆盖)
2.方法重写的规则
前提:子类继承父类
①方法名与参数列表要相同
②子类重写方法的访问控制修饰符不能小于父类被重写方法的访问修饰符
③子类重写方法的返回值类型可以是父类被重写方法返回值类型的子类
3.overload与override的区别?
方法的重载:
前提:在同一个类中
①方法名必须相同
②参数列表必须不同
注意:与返回值类型无关
/*
子类继承父类后,类中各成员的特点
类的成员:属性 方法 构造器
1.方法的重写(方法的覆盖):Override
子类继承父类后,若子类出现了与父类方法签名一模一样的方式时,创建子类对象
调用该方法,实际调用的子类的方法,如同将父类的方法覆盖一样-------方法的重写(方法的覆盖)
2.方法重写的规则
前提:子类继承父类
①方法名与参数列表要相同
②子类重写方法的访问控制修饰符不能小于父类被重写方法的访问修饰符
③子类重写方法的返回值类型可以是父类被重写方法返回值类型的子类
3.overload与override的区别?
方法的重载:
前提:在同一个类中
①方法名必须相同
②参数列表必须不同
注意:与返回值类型无关
*/
public class ExtendsTest3 {
public static void main(String[] args) {
student1 stu = new student1();
stu.eat();
}
}
class Person1{
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
//吃饭的功能
public void eat(){
System.out.println("吃饭");
}
}
class student1 extends Person1{
private int stuid;
public void setStuid(int stuid) {
this.stuid = stuid;
}
public int getStuid() {
return stuid;
}
public void eat(){
super.eat();//父类的eat();
System.out.println("学生吃食堂");
}
}
/*
创建stu对象,调用eat()方法,执行的是子类的方法
内存机制(就近原则)