Domanda

Sono nuovo di Java e devo creare un oggetto di valore, (forse si chiama oggetto mappato in Java), ma il mio codice non sembra funzionare, ecco l'oggetto valore:

package ....;

public class User {
    private int id;    
    private int uid;    
    private String name;

    public User()
    {
        // do something here
    }
}

e assegnare un nuovo oggetto di valore in questo modo:

public boolean some_function() 
{               
    User u = new User();

    return true; // got a breakpoint here
}

Quindi, se io commento "Utente u = new User ();" Andrò al punto di interruzione, ma se lo tengo come sopra sarà solo smettere di correre.

Una nota a parte, io continuo a entrambi i file nella stessa cartella in modo eclisse non importa il file, questo è corretto o dovrei importarlo?

Modifica

Dopo qualche tempo ho scoperto che ho dovuto importare il file manualmente, ho pensato ho provato ma a quanto pare non l'ho fatto.

È stato utile?

Soluzione

Dennis, se il codice come hai postato è il codice esatto che si sta eseguendo, allora questo non ha senso - l ' "Utente u = new User ();" chiamata sarebbe restituire un nuovo oggetto d'uso senza problemi, dal momento che il costruttore è vuota.

Per dimostrare che a se stessi, cambiare il vostro costruttore per:

public User() {
  System.out.println("I'm inside the User constructor!");
}

e chiamare di nuovo la funzione una_qualche_funzione (). Dovreste vedere che riga stampata fuori alla vostra console.

Dato quello che stai reporting e il codice si sta mostrando, ho il sospetto che la classe che contiene una_qualche_funzione () non è "vedere" la classe utente - si sta importando qualche altra classe per l'utente, piuttosto che quello si è creato. Sono le due classi - la classe utente e la classe che contiene una_qualche_funzione () - nello stesso pacchetto? Se no, quali istruzione import nella parte superiore della una_qualche_funzione (?) - contenente classe sta gestendo l'importazione della classe utente

Altri suggerimenti

Certo non si dispone di un ciclo infinito nel vostro utente () costruttore?

Metti un po 'di codice nel costruttore, ad esempio

id = 99;

impostare un punto di interruzione lì.

Non capisco cosa vuoi dire circa l'importazione in Eclipse - ho tutto il mio codice in Eclipse - tuttavia ho il sospetto che l'applicazione non è vedere correttamente la classe User. Forse si stanno anche ricevendo un errore di compilazione. Creare i pacchetti e le classi in Eclipse, lasciarlo risolvere le directory per voi.

Ci mostrano tutta la classe app, tra cui l'importazione di utente.

Mettere il punto di interruzione User u = new User(); e passo al costruttore per vedere cosa sta facendo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top