抽象方法抽象类/接口

==========================================================================================

模板方法设计模式:

 

将相同的部分抽离出去. 

==========================================================================================

接口:

 

 

==========================================================================================

接口的实现关系:

 子类实现接口,就要完全覆盖接口中的所有方法。否则就会报错,类XX不是抽象的,没有覆盖接口XX中的抽象方法XXX。

==========================================================================================

抽象类和接口的异同点:

抽象类有构造方法,因为抽象类定义的是抽象的方法,必须要子类去继承抽象类才能使方法得以实现。

抽象类和接口都不能实例化。

abstrct class A

{

}

interface B

{

}

不能再测试类或者其他的类中去直接new A() 或者new B(),从安全的角度上来讲,这样更加安全,不能被其他人随便的创建,常用于工具类的包装。

抽象类的实现通过子类的extends实现功能。

接口的实现通过子类implements去实现。

子类必须去覆盖接口和抽象类的所有方法。

抽象类可以普通方法和抽象方法同在,接口只能有抽象方法。

抽象类的普通方法和普通类没有区别,继承到子类中去,抽象方法必须要覆盖。

抽象类有显示构造器。因为子类继承时会调用super()默认构造器,所以抽象类一定有构造器.

==========================================================================================

面向接口变成的好处。

面向接口变成运用了接口是一种特殊的继承,一种特殊的类的特点。

只要是实现了接口的类都可以和接口产生多态的关系。

接口 c = new 类XX() 

例如:

 

 

 

==========================================================================================

 

posted @ 2017-01-05 16:22  NobodyHero  阅读(137)  评论(0编辑  收藏  举报