0Pricing
Java Academy · Lezione

Metodi statici e di istanza

Comprendere quando utilizzare membri statici invece di membri di istanza e come differiscono le chiamate.

Metodi statici e di istanza è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 2 di 3. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 3 lezioni in totale.

Che cosa significa statico

Idea: i membri statici appartengono alla classe. I membri di istanza appartengono a ciascun oggetto.

Membri di istanza

I metodi di istanza utilizzano lo stato del singolo oggetto. Li chiami su variabili come user.login().

Membri statici

I metodi e i campi statici sono condivisi. Li chiami tramite il nome della classe, ad esempio Math.max(a, b).

Scegliere tra statico e istanza

Scelga un membro di istanza quando il comportamento dipende dallo stato dell'oggetto. Scelga un membro statico per le utilità pure o per i contatori condivisi dalla classe.

Insidie

Eviti di usare campi di istanza in un metodo statico. Eviti i membri statici quando è necessario uno stato specifico dell'oggetto.

Demo: statico e di istanza

Esegua il programma per vedere le chiamate di istanza sugli oggetti e le chiamate statiche tramite la classe. Il contatore è condiviso.

public class Main {
  public static void main(String[] args) {
    // Two Person objects hold different names
    Person a = new Person("Ada");
    Person b = new Person("Bob");

    // Instance method: needs an object
    a.greet();
    b.greet();

    // Static method/field: belong to class Utils
    int s = Utils.add(7, 5);               // pure function
    System.out.println("sum = " + s);

    Utils.bumpCounter();
    Utils.bumpCounter();
    System.out.println("counter = " + Utils.counter); // shared across all
  }

  static class Person {
    private String name;
    Person(String name) { this.name = name; }
    void greet() {
      System.out.println("Hello, " + name + "!");
    }
  }

  static class Utils {
    static int counter = 0;                // static field (shared)
    static int add(int x, int y) {         // static method (pure)
      return x + y;
    }
    static void bumpCounter() {            // static method (mutates shared)
      counter = counter + 1;
    }
  }
}

Verifichi la comprensione

Verifica rapida: quale chiamata funziona senza creare prima alcun oggetto?

Riepilogo

Riepilogo: statico = a livello di classe e condiviso; di istanza = comportamento e stato specifici dell'oggetto.

Domande Frequenti

La lezione «Metodi statici e di istanza» è gratuita?

Sì — il testo completo di «Metodi statici e di istanza» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 3 lezioni in totale.

Cosa imparerò in «Metodi statici e di istanza»?

Comprendere quando utilizzare membri statici invece di membri di istanza e come differiscono le chiamate. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Java Academy?

Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 3.

Quanto tempo richiede la lezione «Metodi statici e di istanza»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Java Academy?

Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Passaggio per valore in Java
  2. Metodi statici e di istanza
  3. Scomposizione dei metodi e codice pulito
← Torna a Java Academy