如果我有:
public interface One{
public void method1();
}
public interface Two{
public void method2();
}
public class AClass implements One, Two{
}
public static void aDiffMethod1(One o){
o.method1();
}
public static void aDiffMethod2(Two t){
t.method2();
}
public static void main(String[] args){
AClass a = new AClass();
aDiffMethod1(a);
aDiffMethod2(b);
}
有时在我的代码中,我会传递一个 AClass 的实例,因为它是接口 One 的子类型(换句话说,方法的参数类型将是 One,我将传递 AClass 类型),而在其他时候我可能传递 AClass 对象,知道它是接口 Two 的子类型(传递给的方法的参数类型是 Two,所以我将 AClass 作为 Two 的子类型传递)。
可以以不同接口的子类型为幌子将 AClass 的实例传递给不同的方法吗?
这就是他们对接口编程的意思吗?