一、继承
1、通过extends继承的父类可以是不加abstract关键字的普通类,也可以是加了abstract关键字的抽象类。继承普通类时可以覆写父类的方法,或者创建自己独有的方法,或者这两 者都不使用。继承抽象类时,必须覆写抽象类中的全部抽象方法
2、implements继承的父类是且必须是一个interface定义的接口类,且接口中不能定义方法体,只能拥有私有变量和方法名。子类必须实现所有接口中的方法
3、extends不支持多重继承,如:C extends A,B ×
implements支持多重继承,如:C implements A,B √
二、多态
对象的多态性提供了各个子类公共父类的对象的引用,具体实现由子类决定,但是在使用对象的多态性时还得指定是传递的哪一个子类对象的引用,也就是哪个子类最终承担 着父类的角色。多态的实现原理是向上转型,如 A a = new B(); //B implements A. 向上转型的过程是由编译器完成的。