Java心得体会之面向接口编程

Java是一门面向对象语言,在面向对象编程的过程中由延伸出其他的一些编程思想,如面向接口编程、面向切面编程……今天我们就来看一下面向接口编程。

首先我们要知道,什么是接口,接口和抽象类的区别是什么?

所谓接口其实可以理解为类的一种能力、一种行为或者说一种规范,在接口中只能定义抽象方法和常量(public static final),实现这个接口(implement)就要实现其中的方法,也就是说一个类实现了一个接口,就代表这个类具有该接口所有抽象方法所代表的能力。

接口和抽象类的区别有三点:
1. 接口是能力(行为、规范)的表示
抽象类是Class,它有属性和行为
2. 接口里可以定义常量,但是没有属性
3. 接口中的方法,都是public abstract (共有的抽象方法,不能定义其它类型的方法)
4. 抽象类中的方法,可以是抽象的,也可以是非抽象的。但是接口中必须是抽象的;

所谓面向接口编程,其实质依然是多态,不过是将原来业务场景中的方法参数由父类引用转换成接口,所有传进来的参数,都具有同一种能力或行为,这样在业务场景的方法中就可以统一调用这种能力,避免用父类引用作为参数时传递进来的参数并不能百分之百用有该能力的错误。

你可能感兴趣的:(Java心得体会)