1、抽象类
包含抽象方法的类叫做抽象类,可以包含一个或多个抽象方法。为抽象类创建对象是不安全的行为。
抽象类特征如下:
抽象类和抽象方法都必须用abstract关键字修饰
抽象类不能被实例化,也就是不能用new关键产生对象,但是可以有构造函数
抽象方法只需声明
抽象方法必须定义的抽象类中,抽象类的子类必须实现父类中的抽象方法,否则这个子类还是个抽象类
2、接口
Interface这个关键字产生一个完全抽象的类。要让一个类遵循某个特定的接口,需要使用一个特定的关键字——implements。接口中的方法必须被定义为public,默认也是public。
接口的特征:
接口是完全抽象的,他根本不存在方法的实现
接口中声明变量均为final,static,和public得
接口中定义的方法均为抽象的和公共的
接口里的数据成员必须初始化,且数据成员均为常量
区别说完了之后,该说一下什么情况用抽象类,什么情况用接口?
3、完全解耦
策略设计模式:创建一个能够根据所传递的参数对象的不同而具有不同的行为的方法。
适配器设计模式:适配器中的代码将接受你所拥有的接口,并产生你所需要的接口。
接口不仅仅是一种更纯粹形式的抽象类。
4、通过继承可以来扩展接口
5、适配接口
6、类中嵌套接口
7、接口与工