抽象类的定义 抽象方法: 方法使用abstract修饰,没有方法体(大括号),末尾直接分号结束 抽象类:类的定义上,用abstract修饰 抽象类的特点 不能实例化对象 抽象类中,可以具有构造方法,也可以重载很多构造方法,但是构造方法第一行也是super() 抽象类,可以没有抽象方法,但是不能建立对象 抽象类,可以有普通方法,就是有大括号的方法,子类继承后直接使用 抽象类,是这个继承体系中最共性的内容 抽象类的使用 需要定义子类,继承抽象类,重写全部抽象方法,建立子类的对象 如果子类重写了部分抽象方法,子类还是一个抽象类
接口定义 interface 接口名 成员修饰,固定写法,修饰符,任意的去写,不写不是没有 publicstatic final 类型 变量 = 值; publicabstract 返回值 方法名();
接口的使用 实现类,实现接口implements,重写全部抽象方法 建立实现类的对象 如果实现类只重写了部分抽象方法,实现类还是一个抽象类
关系问题 类与类,继承,单继承,局限性 接口与类,实现关系,类多实现接口 接口与接口之间,多继承的关系
接口思想 规定标准,规则,不做任何实现,交给子类去完成,面向接口编程
接口特点 对外暴露的规则 降低耦合性,提高扩展性 总结来说,抽象类和接口的异同点:
相同点: 都是不断向上抽取而来的。 不同点: 1,抽象类需要被继承,而且只能单继承。 接口需要被实现,而且可以多实现。 2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。 接口中只能定义抽象方法,必须由子类去实现。 3,抽象类的继承,是is a关系,在定义该体系的基本共性内容。 接口的实现是 like a 关系,在定义体系额外功能。
|