Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Aiuto su Static !!!

  1. #1

    Aiuto su Static !!!

    Un saluto a tutti... Sono nuovo del sito!
    Vorrei capire un po' meglio il tipo Static....
    se dichiaro un metodo in una classe public e poi richiamo quel metodo all'interno del main che ho dichiarato static, mi da' errore dicendo che nn posso richiamare un metodo non-static...
    perche???

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123

    Re: Aiuto su Static !!!

    Originariamente inviato da Sogeking_87
    Un saluto a tutti... Sono nuovo del sito!
    Vorrei capire un po' meglio il tipo Static....
    se dichiaro un metodo in una classe public e poi richiamo quel metodo all'interno del main che ho dichiarato static, mi da' errore dicendo che nn posso richiamare un metodo non-static...
    perche???
    I membri static hanno alcune limitazioni. Un metodo statico può richiamare solo altri metodi statici ed accedere solo a dati statici.

    Un membro static si usa generalmente (applicato ad una variabile) quando questa risorsa è condivisa da tutti gli oggetti. In sostanza, quando dichiari una variabile di istanza come static stai dicendo a java che deve fare le copie delle variabili di istanza, tranne che di quella static; proprio perchè questa è condivisa da tutti gli oggetti, e non verrà fatta una copia per ogni oggetto ma tutti usano la solita.

    Per i metodi invece, generalmente si utilizzano in "classi di utilità", vedi la classe Math ad esempio. Non puoi creare un istanza ma mette a disposizione numerosi metodi statici, ai quali passi poi i dati necessari (pow, sqrt..)

  3. #3
    I metodi STATIC sono metodi di classe, ovvero metodi che vengono chiamati sulla classe a cui sono associati e non sulle istanze della classe.
    Secondo il Paradigma Object Oriented essi vengono utilizzati per accedere e/o modificare i campi di classe (definiti anch'essi come STATIC) che vengono condivisi da tutte le istanze della classe a cui appartengono.

    Per chiamare un metodo static devi far precedere ad esso il nome della classe a cui è associato (usando la notazione puntata) e non una istanza di quella classe!
    Non confondere i metodi di classe con i metodi di istanza.

    Ecco un esempio:
    codice:
    public class Prova {
    	
        static void stampa(){
        	System.out.println("stampa da metodo statico");
        }
        
        void stampa2(){
        	System.out.println("stampa da metodo di classe");
        }
        
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            // TODO code application logic here
            Prova.stampa(); //Metodo Statico
            new Prova().stampa2(); //Metodo di istanza
        }
    }

  4. #4
    Grazie milli ora ho capito!

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.