Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643

    Dichiarare metodi static, quando?

    Ciao...un piccolo dubbio...quand'è che bisogna dichiarare un metodo come static?

    Una variabile la dichiaro static quando deve essere di classe ovvero che non è una variabile che identifica caratteristiche dei singoli oggetti ma una caratteristica di tutta la classe...che ne sò ad esempio ogni volta che creo un nuovo oggetto il costruttore incrementa una variabile di classe "conta" che mi tiene il conto di quanti oggetti sono stati creati....

    Ma un metodo quand'è che ho necessità di dichiararlo come static?

    Grazie
    Andrea

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Dichiarare metodi static, quando?

    Originariamente inviato da D4rkAng3l
    Ma un metodo quand'è che ho necessità di dichiararlo come static?
    Quando il suo compito non ha nulla a che fare con lo stato di una istanza della classe. Molto spesso i metodi static sono di "utility", vedi ad esempio i parseInt di Integer o i metodi "factory" getXXXInstance di NumberFormat.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    quindi non capiterà mail che il destinatario di un messaggio che contiene un metodo static sia un utente, giusto?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Originariamente inviato da D4rkAng3l
    quindi non capiterà mail che il destinatario di un messaggio che contiene un metodo static sia un utente, giusto?
    Mi puoi spiegare questa domanda???


    Ciao.
    "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

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da D4rkAng3l
    quindi non capiterà mail che il destinatario di un messaggio che contiene un metodo static sia un utente, giusto?
    Che vuol dire "destinatario di un messaggio" e "sia un utente"??!!!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    643
    Originariamente inviato da andbin
    Che vuol dire "destinatario di un messaggio" e "sia un utente"??!!!
    doh stò facendo 3 cose insieme scusate...volevo dire: il destinatario di un messaggio che contiene un metodo static è sempre una classe e mai un oggetto...giusto?

  7. #7
    Utente di HTML.it L'avatar di @DI3GO@
    Registrato dal
    Nov 2008
    Messaggi
    537
    Originariamente inviato da D4rkAng3l
    doh stò facendo 3 cose insieme scusate...volevo dire: il destinatario di un messaggio che contiene un metodo static è sempre una classe e mai un oggetto...giusto?
    A mio personale giudizio non ho capito...non è che vorresti dire che un utente che riceve un messaggio non deve essere dichiarato statico, altrimenti non funziona nulla e tutti fanno riferimento allo stesso "bean" utente?
    Oppure che non so che inventarmi per capire...
    Nipote: persona incompetente, con le soli doti di "copia/incolla" e la creazione automatica di siti internet ed interfaccie grafiche.Compie lavori apparentemente qualificati e richiesta una modifica sparisce in quatemala con i pochi soldi ottenuti.[...] Fonte la Diegonzelli

  8. #8
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    la differenza tra statico e dinamico è che una istruzione (metodo, variabile o altro) è statica quando il collegamento tra l'identificatore e l'oggetto su cui l'istruzione opera avviene nella fase compilativa....è dinamico quando il collegamento viene fatto nel run-time....
    un attributo statico è condiviso da tutte le istanze di quell'oggetto....
    uno dinamico no...è come se ci fosse un metodo personalizzato per ogni istanza dell'oggetto e "java" sceglie quale metodo usare al momento dell'esecuzione dell'istruzione (run-time)
    spero di non averti confuso ulteriormente e di non avere detto troppe fesserie se mi sbaglio correggetemi....io l'ho sempre capita così la differenza

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  9. #9
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Originariamente inviato da D4rkAng3l
    doh stò facendo 3 cose insieme scusate...volevo dire: il destinatario di un messaggio che contiene un metodo static è sempre una classe e mai un oggetto...giusto?
    Ragazzo.. prenditi una pausa!
    Ma giusto per tentarle tutte:
    - Messaggio è una Classe con un metodo statico spedisci.
    - spedisci ha come parametri un Utente e un Messaggio
    Risposta:
    - i parametri del metodo sono due oggetti

    mmm... ancora non mi convince... Bello l'enigma!
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  10. #10
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Siccome sto studiando da poco Java e anchio non ben capito il significato di dichiarare static un metodo provo a dire la mia, così eventualmente se sparo una cavolata ne sarò consapevole...

    Io ho capito che per invocare un metodo della classe A, prima di tutto, è necessario inizializzare un oggetto di tipo A. Se però un metodo viene dichiarato static è possibile farlo senza aver prima creato un oggetto di tipo A...

    Se l'ho sparata grossa offendetemi pure.

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.