日期:2014-05-20  浏览次数:20602 次

JAVA中什么时候需要定义一个接口?
各位大神们,初学者···  
  
  我知道接口表示一种约定, 接口表示一种能力。
  

 我该什么时候该定义接口那?

------解决方案--------------------
例子:
Java code

public class Test {

    public static void main(String[] args) {
        T t1 = new T1();
        T t2 = new T2();
        T t3 = new T3();
        t1.go();
        t2.go();
        t3.go();
    }
}
interface T{
    public void go();
}

class T1 implements T{
    public void go(){
        System.out.println("T1 go");
    }
}
class T2 implements T{
    public void go(){
        System.out.println("T2 go");
    }
}
class T3 implements T{
    public void go(){
        System.out.println("T3 go");
    }
}

------解决方案--------------------
当你想进行扩展的时候就会用。

比如一个项目的一个功能要打印:1。
这个项目被另一个客户使用,他说他这里要打印:2。

这时怎么办?你说直接改呗。
OK,那如果有N多家客户都有自己的需求。你要维护这N个项目,就要做N个项目备份。

有没有好办法?

对,这个功能直接写个接口,通过注入式运行项目,以后我只维护一个项目备份,只是这个功能有多个实现类。

这个例子不是很好,但很直观,很好理解。