继承(父子) 父类和子类
作用:避免代码的冗余
继承: 子类通过继承关系获取父类的所有非私有权限的属性和方法
单继承关系
关键字:extends(继承父类)、implements(实现接口)
一个类只能继承一个父类,但是可以同时实现几个接口
普通类继承普通类 extends
普通类继承抽象 extends 必须同时重写抽象类中的所有抽象方法
普通类继承接口 implements 必须同时重写抽象类中的所有抽象方法 可以同时继承(实现)多个
抽象类继承接口 可以不用同时重写所有接口抽象方法 可以同时继承多个
方法重写
子类重写父类的方法
重写条件:子类的方法名、参数、返回值必须和父类继承过来的方法一致,方法体不一样
{}里面的东西做改变
自动转型
子类对象自动转型为父类类型
转型后的对象,如果子类重写了父类方法,则执行的仍然是重写后的
package test2;
public class People {
public void study(){
System.out.println("人类在学习");
}
public void play(){
System.out.println("人类在玩");
}
}
package test2;
public class Student extends People{
public void study() {
System.out.println("学生在认真的学习");
}
}
package test2;
public class Test {
public static void main(String[] args) {
People peo = new Student();//自动转型
Student stu = new Student();
People peo1 = new People();
peo.study();
stu.study();
peo1.study();
//类名 对象名 = new 类名();
}
}