是否可以让接口(A)扩展另一个接口(B)并使用实现接口(B)的类的方法?这是动态代理的全部意义吗?
说我们有
public interface A {
String getMessage();
}
public class AImpl implements A{
String msg = "Hello World";
@Override
String getMessage(){
return this.msg;
}
}
public interface B extends A {
}
public class main {
B b;
public main(B b){
this.b = new B();
}
System.out.println(b.getMessage()); // prints "Hello World"
}
答案 0 :(得分:1)
动态代理是关于创建一个对象,它在接收if
对象而不是仅实现这些接口的意义上“动态地”实现某些接口。
通常在1)确定在运行时以某种方式使用哪些接口时使用它;或2)具有非常大的接口,其中许多方法可以类似地实现。
此代码与动态代理无关。您可以使用代理来执行您的要求(但您为什么要这样做?):
Method