【发布时间】:2018-10-22 16:40:00
【问题描述】:
所以,我想创建两个类之间的关联,根据我在一些设计模式中阅读的内容,使用接口很方便,(在 Android Studio 中,它用于将片段与活动绑定)。
看看这段代码:
首先,我们有 A 类:
public class A {
public static void main(String[] args) {
B b = new B();
b.foo();
}
}
然后,我们有 B 类:
class B {
private int i;
interface Drawable {
void show(int i);
}
public B() {
this.i = 5393;
drawable = new C();
}
private Drawable drawable;
public void foo() {
drawable.show(this.i);
}
}
最后是 C 类:
class C implements B.Drawable {
@Override
public void show(int i) {
System.out.println("I'm showing this method, and i = " + i);
}
}
我想到的是这一行:
drawable = new C();
谁能解释一下我们如何将新对象从 C 类分配给一个接口,我知道这是因为 C 类实现了该接口,但是,我很难得到它。这个操作的一般观点对我来说是非常苛刻的。
在 Android 中,我们将该接口分配给一个 Activity,(最近的补丁将其更改为一个上下文,它是一个 Activity 的实例)。
【问题讨论】:
标签: java android class interface