Java 接口技术 Interface

一、什么是接口技术(Interface):

//举例中Comparable是一个接口,Employee是一个类

1.接口不是类,而是对类的一组描述,并不给出每个类的具体实现。

2.一个类可以实现多个接口,而实现接口的类要遵从接口描述的统一格式定义接口中的所有方法。

3.要将类声明为实现某个接口,需要使用关键字implements,如class Employee implements Comparable ,实现多个接口用逗号隔开即可。

4.接口不能含有实例域,但是可以定义常量(事实上接口的域自动设为public static final,即静态常量)。

5.接口中的所有方法自动地属于public,因此在接口中声明方法不必提供关键字public,但是在实现接口时必须把方法声明为public 。

6.不能构造接口的对象,尤其不能用new运算符实例化一个接口。

7.但是,可以声明接口的变量,如Comparable x ,接口变量必须引用实现了接口的类对象,如x = new Employee(...) 。

8.可以使用instanceof检查一个对象是否实现了某个特定的接口:anObject instanceof Comparable //为真表示anObject对象实现了Comparable接口。

9.接口可以通过继承来扩展。

二、接口有什么作用(Function):

1.统一标准,让大家都知道这个是做什么的,需要满足什么条件,并且让同时实现一个接口的类之间产生“关联”(可以相互替换实现)。

2.软件开发中很重要的一个理念就是“解耦”,接口和接口实现就是应用了这个理念,标准的制定和具体的实现相分离。

3.接口在开发过程中可以快速分离工作内容。

  比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,但是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现一个接口,定义了规范,然后就可以继续他的业务逻辑代码了。而实现者可以根据这个接口规范,做具体的实现。这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。此外,如果规范是通过接口定义的,那么当这个功能有多个实现时,只要实现了这个接口,就可以快速的替换具体实现,做到代码层面的完全分离。

 

顺便说一下克隆技术

1.克隆分为浅拷贝和深拷贝,默认的克隆操作是浅拷贝。

2.浅拷贝并不拷贝对象中的内部对象,而是与原对象共享。

3.深拷贝则同时拷贝对象中的内部对象,要实现深拷贝必须重新定义clone方法,克隆所有可变的实例域,并使用public访问修饰符修饰clone方法。

4.Object类中clone方法被声明为protected,受保护访问的规则极为微妙,子类只能调用受保护的clone方法克隆它自己。

posted @ 2015-11-15 10:38  wewalk  阅读(867)  评论(0编辑  收藏  举报