使用场景(个人理解):多个类(A,B,C)中实现形式差不多,但是细节不一样的方法,可以让它们实现同一个接口(可以包含多个方法),然后在外部用一个方法(H)接受接口参数,并在这个方法里实现接口方法。然后在其他类(DD)里实例化(a1,b1,c1)对象,并调用方法(H),这时只需要传入实例化的对象(a1,b1,c1)作为方法H的参数,就能够调用实例化对象(a1,b1,c1)里的接口方法。
接口N:
public interface N {
public void f1();
public void f2();
}
A,B类:
class A implements N {
@Override
public void f1() {
System.out.println("类A,接口方法f1");
}
@Override
public void f2() {
System.out.println("类A,接口方法f2");
}
}
class B implements N {
@Override
public void f1() {
System.out.println("类B,接口方法f1");
}
@Override
public void f2() {
System.out.println("类B,接口方法f2");
}
}
方法H和DD类调用:
public class DD {
public static void main(String[] args) {
A a1 = new A();
B b1 = new B();
H(a1);
H(b1);
}
public static void H(N inter){
inter.f1();
inter.f2();
}
}
运行结果:
这个就像生活中的接口,通过一根数据线(方法H)把电脑(类DD)和手机,相机(类A,B,C)连接起来,在电脑上操作连接的手机,相机(通过类(H)操作实例化对象a1,b1,c1里的接口方法)。虽然不用接口也能实现,但是这样就会显得缭乱,就像生活中大家的手机电脑,常见统一的接口时type-c接口,一种type-c接口的数据线可以连接电脑与手机,电脑与相机多种设备。程序中类D调用多个实例类(a1,b1,c1)的方法时,统一通过方法(H)调用,程序就会规范,代码也整洁许多。