多态:由于对象不同可能会有不同的行为,例如父类是人,他里面的方法是休息,那么子类如果是小孩的话,他的方法可能就是玩玩具,如果子类是程序员,他的方法可能就是敲代码,这些方法都叫重写。
显而易见,小孩和程序员都叫人,但人不一定就是小孩就是程序员,子类一定属于父类,但父类不一定就是子类
多态的实现其实就是通过父类或接口调用子类或实现类里的重写方法或者实现方法,除非继承的子类没有重写任何父类的方法,否则调用的都是子类重写的方法,并且子类调用父类默认的构造器
如果父类引用指向了子类对象,能调用的方法只能是子类重写父类的方法和父类本身的方法,不能调用子类有而父类没有的方法,因为它本质还是父类,只不过是指向了子类对象
多态的好处就是方便代码的维护
public class Six {
public static void main(String[] args) {
People po = new Baby();
People io = new Programmer();
po.sleep();
io.sleep();
}
}
class People{
public void sleep(){
System.out.println("睡觉");
}
}
class Baby extends People{
@Override
public void sleep() {
System.out.println("玩具真好玩");
}
}
class Programmer extends People{
@Override
public void sleep() {
System.out.println("代码真有趣");
}
}
如果你想要再加一个子类非常方便