我正在开发一个使用ScanResult对象的Android应用程序。该对象的形式为:

[SSID: __mynetwork__, BSSID: 00:0e:2e:ae:4e:85, capabilities: [WPA-PSK-TKIP][ESS], level: -69, frequency: 2457, timestamp: 117455824743]


我试图通过创建扩展equals()的我自己的类来覆盖此类的ScanResult方法:

public class MyScanResult extends ScanResult {

    public MyScanResult() {
        super();
    }

    @Override
    public boolean equals(Object o) {
        if (this == o)
            return true;
        if (!(o instanceof ScanResult))
            return false;

        ScanResult obj = (ScanResult) obj;
        if (!BSSID.equals(obj.BSSID))
            return false;
        if (!SSID.equals(obj.SSID))
            return false;
        if (!capabilities.equals(obj.capabilities))
            return false;
        if (frequency != obj.frequency)
            return false;
        if (level != obj.level)
            return false;

        return true;
    }

}


但是,当我尝试此操作时,出现以下错误:The constructor ScanResult() is not visible。请问该如何解决?

最佳答案

ScanResult的公共构造函数签名为:

public ScanResult(String SSID, String BSSID, String caps, int level, int frequency)


您需要使用匹配的参数来调用超类

关于java - 构造函数不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15886514/

10-09 05:12