一、extends类的继承
1、子类继承到了父类的所有方法和属性。
2、如果子类重写了父类中的方法,调用的是子类中的实现,否则就调用父类中的方法。
二、自动转型和多态
1、自动转型格式:父类名 对象名 = new 子类名();
2、多态指的是相同类型的对象调用相同方法的时候,由于继承和重写机制,得到的结果不一定相同。
三、
接口
1、(扩展)定义一个类有两种用途:一是生成对象调用其方法,二是用作给其他类来继承。
2、接口的定义用的是interface,接口中的方法无论是否写了public限定符,接口中的方法都是public型的。
3、接口中的方法不能有具体实现。
4、接口中可以定义属性,但接口中的属性必须是常量值,即不可改变的。
5、接口的实现类中,必须重写接口中的方法。
6、类的继承和接口的相同点和不同点:
相同点:接口也可称作实现类的父类,实现类对象自动转型为接口类型,多态机制与子父类继承时是同样的原理。
不同点:一个类可以实现多个接口,但一个子类只能继承一个父类。
7、接口与接口之间也可以继承,且一个接口可以继承多个接口。如果一个类继承了某个继承了接口1的接口2,则它必须实现所有的方法(包括接口1中和接口2中的所有方法)。
四、抽象类
1、抽象类是介于接口和类之间的定义,抽象类定义时,类前必须加上abstract
关键字。如没有实现,前必须加上abstract关键字,即抽象方法。子类继承抽象类时,使用extends关键字,在子类中,必须实现抽象类中的abstract方法。子类只能同时继承一个抽象类,这与接口的implements不同。