Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [JAVA] Errore "not static-method cannot be referenced"

    Ciao ragazzi, mi presento:

    sono nuovo di questo forum e del mondo della programmazione in genere..
    conosco qualcosa di Java e ho voluto iniziare un "progettino" per invogliarmi allo studio di questo linguaggio.. (lo sto studiando per cultura personale).

    Dunque, vorrei creare uno stupidisso programma che utilizzando le api di Betfair (un sito di scommesse) si ricolleghi a quest'ultimo e mi mostri il mio saldo conto..

    ecco.. mi sono subito bloccato nel login dal mio client.
    import Global.LoginReq;
    import Global.LoginResp;
    import Global.Login;
    import Global.BFGlobalService;


    public class LoginAccount
    {
    public void login(String user, String pass)
    {
    // instanze varie
    Login log = new Login();
    LoginReq req = new LoginReq()
    LoginResp resp = new LoginResp();

    // metodo per loggarsi all'account betfair

    req.setUsername(user);
    req.setPassword(pass);
    req.setProductId(82);
    req.setIpAddress("");
    req.setLocationId(0);
    req.setVendorSoftwareId(0);

    // invia la richiesta a betfair
    rep = BFGlobalService.login(req); // <--------- ERRORE

    }


    }
    L'errore che mi dà è il seguente: "not static-method login(Global.LoginReq) cannot be referenced from a static context is abstract cannot be instantiated "

    qualcuno mi potrebbe dare una mano d'aiuto? carico anche i java di BFGlobalService e LoginReq, li trovati in questo link: http://digilander.libero.it/markolin89/file.rar

  2. #2
    l'errore e' la chiave... probabilmente stai cercando di chiamare un metodo non statico, login, come se fosse statico. Crea un'istanza di BFGlobalService e poi su quella chiama login.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    grazie della risposta!

    avevo già provato ma purtroppo la classe BFGlobalService è astratta e non può essere instanziata

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da aiaiaiai89
    purtroppo la classe BFGlobalService è astratta e non può essere instanziata
    Da ciò che vedo in quell'archivio linkato, è una interfaccia ... quindi è ovvio che non può essere istanziata!!

    Non me ne intendo di "web service" e tantomeno delle API di quel sito (che tra l'altro qui in italia risulta oscurato, come tanti altri di quel tipo).

    Quella interfaccia "descrive" solo i metodi di quel servizio .... che per usarlo dovresti avere una "implementazione" di questa interfaccia. Implementazione che potrebbe forse fornire quel sito stesso o altrimenti dovresti generarla tu a partire che so da un WSDL che il sito quasi sicuramente fornisce.
    E il tuo approccio è comunque di certo sbagliato.

    E per finire un piccolo discorso non tecnico. Dici che sai "qualcosa" di Java e che vuoi sviluppare qualcosa per invogliarti a studiarlo. Bene, chi inizia con un linguaggio di programmazione dovrebbe partire dalle cose più semplici (es. il classico banale programmino "hello world") e progredire man mano con cose più complesse (e ce ne sono tante di cose che potresti fare!).
    Ma non partire in quarta con un qualcosa che ha a che fare con dei web service!!!.

    Quindi accetti un consiglio? Acquista o fatti prestare un buon libro sul linguaggio Java e inizia a leggere .... facendo ovviamente molta pratica con esercizi, prove, ecc....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.