interface 一直不太理解在此请问.请给详细说明

interface 一直不太理解在此请教.请给详细说明
interface   是什么工能?在什么时候可以考虑用?   定义时有什么要注意的

------解决方案--------------------
up
------解决方案--------------------
一两句好像说不玩
------解决方案--------------------
比如:DAO设计模式.最主要的就是设计接口.

接口就是定义了一种规则.
------解决方案--------------------
你不想别人看到你的代码
------解决方案--------------------
暴露接口
多态设计的基础
------解决方案--------------------

------解决方案--------------------
很简单。interface就是在JAVA程序需要多重继承的时候发挥作用的。JAVA规定了单一继承,但是很多时候是需要用到C++中的多重继承的,那怎么办?extends只能继承一个,那只好放在 implements里面了。
------解决方案--------------------
接口就是象电脑主机内部(功能)封装,留下给用户的是一些插线的接口

------解决方案--------------------
就是幕后黑手
------解决方案--------------------
接口定义规则,适用于团队开发
------解决方案--------------------
定义一个接口 可以让多个类来实现,如果使用一个类来继承另外一个类的话,这样的类多了会使继承体系越来越庞大,这样程序之间的偶合度就得不到降低,程序就难于管理。
定义一个接口它里面的所有方法都是用Public 修饰的抽象方法,定义的变量呢都必须用static fianl 来修饰 相当于一个静态常量。
------解决方案--------------------
凡是一讨论接口就说多重继承的人,对接口的理解就是有些问题的。
------解决方案--------------------
接口的用法要慢慢体会的,在这里我简单说一下吧。
接口其实是一种特殊的抽象类,里面的方法都是抽象的,需要被继承实现的。接口中可以定义final static变量。
接口往往用来表示一类东西,比如鸟类,你可以定义一个interface bird,里面有方法void fly(),然后各种具体的鸟的实现类都继承这个统一的方法,实现fly方法。
进一步说,接口是为了体现多态性,开-闭原则。
------解决方案--------------------
http://blog.csdn.net/dunai2003/archive/2007/01/13/1481713.aspx
------解决方案--------------------
电脑了解多少
主板上的PCI插槽就是现实中的接口
你可你把声卡,显卡,网卡都插在PCI插槽上,而不用担心那个插槽是专门插哪个的
原因是做主板的厂家和做各种卡的厂家都遵守了统一的规定
包括尺寸,排线等等
但是各种卡的内部结构是一样的么?答案必然是否定的!
我们来模拟一下:
interface PCI
{
void start();
void stop();
}
//这是接口,相当于主板上的PCI插槽

class NetworkCard implements PCI
{
public void start()
{
System.out.println( "Send... ");
}
public void stop()
{
System.out.println( "Network stop! ");
}
}
//网卡
class SoundCard implements PCI
{
public void start()
{
System.out.println( "Du du... ");
}
public void stop()
{
System.out.println( "Sound stop! ");
}
}
//声卡

class MainBoard
{
public void usePCICard(PCI p)
{
p.start();
p.stop();
}
}
//主板调用接口的运行方法,也就是调用PCI的函数
public class Assembler
{
public static void main(String[] args)
{
MainBoard mb=new MainBoard();
NetworkCard nc=new NetworkCard();
mb.usePCICard(nc);
SoundCard sc=new SoundCard();
mb.usePCICard(sc);
}
}
//这是运行

我觉的这个例子不错,仔细想一想。
就好像,如果你实现了pci接口,就一定可以
做为参数,被主板应用,如果没有实现,就算你有
start(),stop()编译器也报错,不让你这么用。
------解决方案--------------------