java version "1.7.0_45"
你好,
带有构造函数参数的类,该类具有将在客户端中实现的接口(interface)
public class SInvitationListenerImp {
public interface MUCRoomListener {
void onInvitationReceived(String roomName, String inviter, String reason, String password, String message);
}
public SInvitationListenerImp(MUCRoomListener roomListenerEvent, int clientConnection) {
mMUCRoomListener = roomListenerEvent;
mClientConnection = clientConnection;
}
}
在我的客户端中,我可以创建一个匿名类,传入构造函数参数并实现接口(interface)。
但是,这不适用于争论
new SInvitationListenerImp(MainActivity.this, connection).MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
}
};
这无需构造函数参数即可工作。但是,需要参数(所以这不能满足我的需求)
new SInvitationListenerImp.MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
}
};
是否可以将参数传递给构造函数并实现接口(interface)?
非常感谢您的建议
更新结果为'.'或预期的“)”
:
new SInvitationListenerImp(new SInvitationListenerImp.MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
}
} MainActivity.this, connection);
最佳答案
你的语法是错误的......你可能需要这样的东西,
new SInvitationListenerImp(new SInvitationListenerImp.MUCRoomListener() {
@Override
public void onInvitationReceived(String s, String s1, String s2, String s3, String s4) {
// Interface method body.
}
}, connection);
关于java - 创建一个匿名类,传入构造函数参数并实现其接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32559678/