0
状况:说有一个A类和接口B.强制接口实现
需要量:如果任何一类,说C,想要创建和使用的对象他们,那么这个类也将不得不实现接口B.是否有任何方法来执行这个条件?
原因:现在可能会出现一个问题,为什么我想要做这样的事情。原因在于,当C类创建A的对象并使用它们时,那些对象调用C的某些方法。我想在接口B中声明这些方法,以便C总能实现这些方法。
状况:说有一个A类和接口B.强制接口实现
需要量:如果任何一类,说C,想要创建和使用的对象他们,那么这个类也将不得不实现接口B.是否有任何方法来执行这个条件?
原因:现在可能会出现一个问题,为什么我想要做这样的事情。原因在于,当C类创建A的对象并使用它们时,那些对象调用C的某些方法。我想在接口B中声明这些方法,以便C总能实现这些方法。
既然你说A
类的对象将拜会C
方法,他们将不得不继续参考C
莫名其妙。请使用B
类型的此参考,然后完成。
也就是说
public class A {
public A(B arg) {
....
}
}
然后在C
:
A a = new A(this);
这将迫使C类来实现接口B
。
试试这个片断:
public interface B {
// methods
}
public class A {
private final B b;
public A(B b) {
this.b = b;
}
...
}
public class C implements B{
// implement B's methods
public static void main(String[] arg) {
C c = new C();
A a = new A(c);
}
}
请详细说明问题更具体。 'A','B'和'C'对于我们来说太抽象了,无法把握你想要做的事情。你最喜欢什么类/接口?就目前而言,你的问题没有多大意义。 – Asaph
我有一个名为Agent的类和一个AgentInterface接口。现在,任何想要使用代理的类(这些类将由其他人编写,而不是由我编写)将不得不创建代理对象,对吧?但我想在这里执行一个条件。如果需要使用类Agent,我还希望该类实现AgentInterface。是否可以强制执行这样的条件?如果不是,我能以什么方式实现这样的事情? – aps
Mukherjee:我还是不明白你的设计。 'AgentInterface'包含哪些方法? – Asaph