一、抽象:简单的说,抽象就是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
1、抽象类:使用abstract关键字修饰的类叫做抽象类,且抽象类不能实例化(不能使用new关键字生成对象)。(如果一个类是抽象类,那么这个类可以包含0至n个抽象方法和具体方法(有声明有实现))
2、抽象方法:使用abstract关键字修饰的方法叫做抽象方法,抽象方法有声明无实现。(如果一个类包含了抽象方法,那么这个类一定是抽象类(使用abstract来修饰))
3、使用:在子类继承父类(父类是个抽象类)情况下,那么该子类必须要实现父类中所定义的所有抽象方法;否则该子类需要声明成一个抽象类。
二、接口:使用interface关键字修饰,当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
1、接口不可以创建对象,因为接口里有抽象方法,需要被子类实现(使用implements关键字),子类对接口中的抽象方法全都覆写后,子类才可以创建对象,否则子类是一个抽象类。
2、接口中常见的定义:常量、抽象方法。
3、接口中成员都有固定的修饰符:
常量:public static final
方法:public abstract
4、接口中的成员都是public修饰
5、接口说明了“做什么”,而实现这个接口的类,也就是实现类需要说明“怎么做”