作为一名来自C的人,我正在努力理解这段代码背后的逻辑。
因此,在Impler
类中,我声明了一个类型Clicker
的变量,它是一个接口。当实例化Impler
类时,我传递Main
实例并将其分配给该变量(我不知道这个以及它是如何工作的)然后使用Main
中编写的抽象方法。
实现Impler.Clicker
的主类:
public static void main(String[] args) {
new Main();
}
Main() {
new Impler(this);
}
@Override
public void toClick(int i) {
System.out.print("clicked on " + i);
}
实施类:
private Clicker mClicker;
Impler(Clicker clicker) {
this.mClicker = clicker;
mClicker.toClick(3);
}
public interface Clicker {
public void toClick(int i);
}