Visualizzazione dei risultati da 1 a 10 su 10

Visualizzazione discussione

  1. #6
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Forse non mi sto spiegando bene o, probabilmente, non hai familiarità con i nomi tecnici.
    Faccio uno schemino prendendo come esempio il metodo "main":

    codice:
    public static void main(String[] args)
      ^      ^      ^    ^     ^       ^
      |      |      |    |     |       +---- nome del parametro
      |      |      |    |     +------------ tipo del parametro
      |      |      |    +------------------ nome del metodo
      |      |      +----------------------- tipo di ritorno
      |      +------------------------------ modificatore
      +------------------------------------- tipo di accesso

    Questo è il classico metodo main. Come ogni altro metodo ha in comune la sua struttura.
    Il metodo main è costituito dai seguenti componenti: un tipo di accesso, un modificatore, un tipo di ritorno, il nome del metodo, un parametro (il parametro è a sua volta identificato da un tipo e da un nome).

    Quando nei miei messaggi precedenti ti ho detto che il metodo accendi() non dovrebbe avere alcun parametro, parlavo, appunto, di quelle cose che vengono messe tra le parentesi tonde del metodo. Un metodo può avere dei parametri (il main ne ha uno, si chiama "args" ed è di tipo String[]), ma può anche non averne (perchè non è obbligatorio che al metodo venga passato qualcosa perchè funzioni). E' il caso del metodo accendi; secondo la logica, un metodo come quello non dovrebbe ricevere alcun parametro, perchè lui sa già chi è che deve essere acceso: l'oggetto su cui viene invocato.

    Quindi, per prima cosa, io sistemerei quel metodo: la chiamata è un'altra cosa senza alcun senso... La classe Lampada, come già detto, non possiede alcun attributo statico chiamato "lamp".

    Quando tu scrivi Lampada.lamp stai cercando di riferirti ad una variabile statica definita dentro la classe Lampada... la tua classe Lampada, come già detto, non ha alcuna variabile statica, quindi scrivere Lampada.qualcosa non ha nessun senso (se non per il main, ma è addirittura più senza senso di quell'altra cosa).

    Quindi "Lampada.lamp" è una cosa che non esiste ed il compilatore lo sa e te lo segnala.


    Ciao.
    Ultima modifica di LeleFT; 29-01-2015 a 17:36
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.