一句话"类是对象的抽象,接口抽得更厉害,是类的抽象",那这句话是什么意思呢?也就是类中包括很多其他的对象,是对象的一个集合,而这些对象就是类的属性或方法;而接口则包括许多类,但是他和类又有着不同。试想如果"接口"是要把类放到"接口"中,那么所谓的"接口"实际上就是一个类了。所以接口绝不是把类放到内部去;那么我们就要理解”接口“的含义,接口在现实中就是插座的意思,而插座是有两面的,一面是给插头的插孔,另一面是给电路的。无论电路时多么复杂,插孔就是那种形状,或是双孔的,或是三孔的。那么所有双孔的电路是不是就可以有同一个插座;不同的类对应的就是不同的电路,插孔就是接口中的方法,这样接口和类的关系就呼之欲出了:所有有相同方法的类,就可以构成同一个接口;
再举一个例子,现在有一个组织叫Wcg,是处理国家之间的经济的,管理的人员给这个组织规定了相关的法律的名字,而没有写入具体的规定。突然有一天不知道怎么的美国想不开,加入了这个组织,之后英国,法国和德国发现老大加了,自己也想加进去,加的国家越来越多了。之后各个国家因为地域,文化,经济的差异而导致要有不同的法律。但是他们的相同类型的法律都叫一个名字,就比如说关于经济的就都叫经济法;一天中国想和里面的一些成员做生意,那中国就要了解成员具体的经济法。但我们的习大大每一天都很忙,没有时间来研究各个国家的法律。那怎么办呢?习大大就想出了一个办法:我决定和哪个国家做生意,在去看人家的法律不就行了嘛,反正他们都是Wcg的,法律名字都一样。
在这个例子里面:wcg就是接口,wto的法律就是接口的一些方法的声明,wto中具体的国家就是实现接口的类,就要在类中实现接口的方法;中国对应的就是会真正调用到wto中方法的类(注意是调用,而不是定义),即这个类中一定会包含一个以接口作为参数的方法,而这个方法在调用的过程中要传入实现接口的类的对象。
以上是暂时我对接口的理解,因为接触的例子不是很多,可能会有以偏概全的嫌疑,但大致的就是这个意思!
(例子中的名称都是胡诌的,如有雷同,存属巧合)
(转载请表明出处,谢谢)