私はこのコードを書きました:
package sample;
import org.freedesktop.dbus.DBusInterface;
import org.freedesktop.dbus.DBusInterfaceName;
import org.freedesktop.dbus.DBusConnection;
@DBusInterfaceName("org.mpris.clementine")
interface Player extends DBusInterface, java.rmi.Remote {
void Pause();
}
class Main {
public static void main (String[] args) throws org.freedesktop.dbus.exceptions.DBusException, java.lang.InterruptedException {
DBusConnection dc = DBusConnection.getConnection(DBusConnection.SESSION);
Player player = (Player) dc.getRemoteObject("org.mpris.clementine", "/Player");
player.Pause();
dc.disconnect();
}
}
そしてラインでミスをする
Player player = (Player) dc.getRemoteObject("org.mpris.clementine", "/Player");
それは言う
Exception in thread "main" java.lang.ClassCastException: $Proxy2 cannot be cast to sample.Player
問題は継承の誤解やそのようなものにあることを私は知っています。徹底的に検索しましたが、答えが見つかりませんでした。この行を正しく書くには?そして、間違いは何ですか?