【新手上路】类中可以定义接口吗?
小弟知道类可以实现接口,但是不知道类中是否可以定义接口,别的类中如何使用?
下面代码是否有问题:
class A {
public interface callback {
void setState();
}
private callback mCallback = null;
void setCallback(callback cb) {
mCallback = cb;
}
public void performClick() {
if (mCallback != null) {
mCallback.setState();
}
}
// other code
}
class B implements A.callback {
public void setState() {
// do something
}
}
请问下上面的类B是否可以实现A中定义的接口?
如果可以实现,为什么?
如果A中定义了非静态内部类,B中要访问的话,只有通过A的实例才可以访问
小弟不知道为什么可以直接访问A中的接口呢?
下面代码是否有问题:
class A {
public interface callback {
void setState();
}
private callback mCallback = null;
void setCallback(callback cb) {
mCallback = cb;
}
public void performClick() {
if (mCallback != null) {
mCallback.setState();
}
}
// other code
}
class B implements A.callback {
public void setState() {
// do something
}
}
请问下上面的类B是否可以实现A中定义的接口?
如果可以实现,为什么?
如果A中定义了非静态内部类,B中要访问的话,只有通过A的实例才可以访问
小弟不知道为什么可以直接访问A中的接口呢?
作者: vinuslong 发布时间: 2011-06-11
不是很清楚,有内部类,没听说过有内部接口。。。。楼主可以在IDE中试一下。。。。
作者: wuxianglong 发布时间: 2011-06-11
引用楼主 vinuslong 的回复:
请问下上面的类B是否可以实现A中定义的接口?
如果可以实现,为什么?
如果A中定义了非静态内部类,B中要访问的话,只有通过A的实例才可以访问
小弟不知道为什么可以直接访问A中的接口呢?
请问下上面的类B是否可以实现A中定义的接口?
如果可以实现,为什么?
如果A中定义了非静态内部类,B中要访问的话,只有通过A的实例才可以访问
小弟不知道为什么可以直接访问A中的接口呢?
可以实现,因为是public的
内部接口缺省的是static的
作者: qybao 发布时间: 2011-06-11