gpt4 book ai didi

java - android java没有封闭类

转载 作者:行者123 更新时间:2023-12-01 09:47:03 25 4
gpt4 key购买 nike

这是我的课

 public class mm {

public class MessageHandler {
public HashMap<String, Command> commandMap;

public MessageHandler() {
this.commandMap = new HashMap<>();
commandMap.put("init", new CreateOfferCommand());
commandMap.put("offer", new CreateAnswerCommand());
commandMap.put("answer", new SetRemoteSDPCommand());
commandMap.put("candidate", new AddIceCandidateCommand());
}

public Emitter.Listener onMessage = new Emitter.Listener() {
@Override
public void call(Object... args) {
JSONObject data = (JSONObject) args[0];
try {
String from = data.getString("from");
String type = data.getString("type");
JSONObject payload = null;
if(!type.equals("init")) {
payload = data.getJSONObject("payload");
}
// if peer is unknown, try to add him
if(!peers.containsKey(from)) {
// if MAX_PEER is reach, ignore the call
int endPoint = findEndPoint();
if(endPoint != MAX_PEER) {
Peer peer = addPeer(from, endPoint);
peer.pc.addStream(localMS);
commandMap.get(type).execute(from, payload);
}
} else {
commandMap.get(type).execute(from, payload);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};

public Emitter.Listener onId = new Emitter.Listener() {
@Override
public void call(Object... args) {
String id = (String) args[0];
mListener.onCallReady(id);
}
};


public Emitter.Listener onCall = new Emitter.Listener() {
@Override
public void call(Object... args) {
String id = (String) args[0];
mListener.onCalling(id);
}
};
}
......................
.........
}

当我从另一个类调用内部类时,它会给我一个封闭类

 mm.MessageHandler messageHandler = new mm.MessageHandler();

当我将内部类 messageHandler 设为静态时,错误消失了,但在内部类中显示了另一个错误,所以我可以调用内部类而不将其设为静态吗?

最佳答案

mm n = new mm(); 
mm.MessageHandler messageHandler = n.new MessageHandler();

或者在你的内部类中使用静态

希望有帮助

关于java - android java没有封闭类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37909170/

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