当前位置: 技术问答>java相关
谁给解释一下这段代码,立即给分!
来源: 互联网 发布时间:2015-10-25
本文导语: public interface A{ ……… ………… public void showPopup(int x, int y) {}; ………… ………… } Class B { private A a; public B(A a) { this.a = a; } public void showPopup(int x, int y) { this.a.showPopup(x, y); } } 接口并没...
public interface A{
………
…………
public void showPopup(int x, int y) {};
…………
…………
}
Class B {
private A a;
public B(A a) {
this.a = a;
}
public void showPopup(int x, int y) {
this.a.showPopup(x, y);
}
}
接口并没有被实现,怎么就可以用接口里的方法?
………
…………
public void showPopup(int x, int y) {};
…………
…………
}
Class B {
private A a;
public B(A a) {
this.a = a;
}
public void showPopup(int x, int y) {
this.a.showPopup(x, y);
}
}
接口并没有被实现,怎么就可以用接口里的方法?
|
其实 public B(A a) {
this.a = a;
}
这里的a也并不一定是上面的A的实例,也许是另一个如下面的:
public class C implements A {
public C(){ }
public void showPopup(int x, int y) {};
}
这样不就是可以把C的一个实例当作A来传了,所以就可以使用接口里的方法.
this.a = a;
}
这里的a也并不一定是上面的A的实例,也许是另一个如下面的:
public class C implements A {
public C(){ }
public void showPopup(int x, int y) {};
}
这样不就是可以把C的一个实例当作A来传了,所以就可以使用接口里的方法.
|
当然可以调用。
因为变量名类型可以是接口,当然对象不能由接口实例化。两个问题!没有冲突!
因为变量名类型可以是接口,当然对象不能由接口实例化。两个问题!没有冲突!