JAVA中什么时候需要定义一个接口?
各位大神们,初学者···
我知道接口表示一种约定, 接口表示一种能力。
我该什么时候该定义接口那?
[解决办法]
例子:
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个项目备份。
有没有好办法?
对,这个功能直接写个接口,通过注入式运行项目,以后我只维护一个项目备份,只是这个功能有多个实现类。
这个例子不是很好,但很直观,很好理解。