gpt4 book ai didi

java - 创建一个匿名类,传入构造函数参数并实现其接口(interface)

转载 作者:行者123 更新时间:2023-12-02 04:22:48 26 4
gpt4 key购买 nike

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com