Это потому, что каждый раз, когда вы создаете 'C', вы в конечном итоге создаете два C
s, которые затем создают четыре C
s и т. Д.
Вы можете сделать это вместо этого,
interface A {
void test();
}
interface B {
void test();
}
class C implements A, B {
A a ;
B b ;
@Override
public void test() {
System.out.println(a.getClass());
System.out.println(b.getClass());
}
public void createObjects(){
a = new C();
b = new C();
}
}
, а затем вызвать метод теста,
public class MultiInherit{
public static void main(String args[]){
C c = new C();
c.createObjects();
c.test();
}
}