Ecco la mia domanda compiti:Java aiuto per i compiti (Accesso Statico membro tramite istanza di riferimento)
Scrivi una dichiarazione di classe per un “Orologio” di classe. Dovrebbe avere variabili di istanza per ore, minuti, secondi (tutti gli interi). Dovrebbe anche avere un metodo toString() per mostrare l'ora nel formato mostrato di seguito. Scrivi una classe "ClockDriver" separata su a) crea un'istanza di un orologio, b) imposta le ore, i minuti e i secondi per l'orologio, e c) mostra l'ora dell'orologio usando getTime(). Utilizzare l'esempio di classe Dog a pagina 36 come guida. Sample fuori è la seguente:
Il tempo è 3:45:00
// non preoccupatevi se non è possibile ottenere entrambi gli zeri in
// il secondo campo. Questo è un problema di formattazione
// ci occuperemo in seguito
Ecco la mia classe Orologio:
class Clock {
int hours;
int minutes;
int seconds;
public String toString() {
String temp = ("");
return temp.format("%02d:%02d:%02d", hours, minutes, seconds);
} //end method toString
public void getTime() {
System.out.print("The time is " + toString());
} //end method getTime
} //end class Clock
E qui è la mia classe ClockDriver:
public class ClockDriver {
public static void main (String[] args) {
Clock c = new Clock();
c.hours = 4;
c.minutes = 30;
c.seconds = 00;
c.getTime();
} //end main
} //end class ClockDriver
Anche se compila bene e funziona bene, ottengo quello che penso sia un avvertimento di IDE che dice che il mio
return temp.format("%02d:%02d:%02d", hours, minutes, seconds);
la linea accede a un membro statico tramite riferimento di istanza. Nello specifico, lo
temp.format
bit.
Quindi le mie domande sono:
1.) Perché l'accesso a un membro statico tramite riferimento esempio non necessariamente incoraggiati?
2.) Esiste un modo migliore per mettere insieme questo in modo che non acceda a un membro statico tramite riferimento di istanza?
Grazie in anticipo!
+1 per il tuo nome utente. –