java base iv: java e la programmazione o.o.. argomenti classi e oggetti in java i metodi i...
TRANSCRIPT
![Page 1: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/1.jpg)
Java base IV:Java base IV:Java e la programmazione Java e la programmazione
O.O.O.O.
![Page 2: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/2.jpg)
Argomenti
• Classi e oggetti in Java• I metodi• I costruttori• Principi di programmazione O.O. in Java:
– Incapsulamento,– Ereditarietà,– Polimorfismo.
• Le classi Astratte• Le interfacce• Metodi e variabili static
![Page 3: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/3.jpg)
Obiettivi
• Familiarizzare con l’implementazione Java dei principi dell’O.O.
• Conoscere i fondamenti della programmazione in Java
![Page 4: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/4.jpg)
Ricapitoliamo quanto detto della Ricapitoliamo quanto detto della programmazione ad oggetti…programmazione ad oggetti…
OOP è un paradigma di programmazione nel quale i problemi sono OOP è un paradigma di programmazione nel quale i problemi sono modellati come in insieme di modellati come in insieme di oggettioggetti
Un oggetto è una istanza di una classeclasse
Insieme di oggetti con le stesse caratteristiche e gli stessi comportamenti
Agli oggetti si applicano i principi di
Ereditarietà Incapsulamento
Polimorfismo
![Page 5: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/5.jpg)
Esempio…un videogiocoEsempio…un videogioco
Attributi Descrivono lo stato dell’oggetto
![Page 6: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/6.jpg)
Oggetti e classi di oggettiOggetti e classi di oggetti
OrcoOrco
CavaliereCavaliere
Classi
Istanze (Oggetti)
![Page 7: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/7.jpg)
Le classiLe classi
Implementazione di un oggetto
Modificatore d’accesso11 Tutti gli attributi della classe
22 Tutti i metodi della classe
package it.miopackage.itMaster;
import java.util.Iterator;
public class Classe{int attributo;
public void metodo(){//implementazione metodo
}}
11
22
= nome del file
![Page 8: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/8.jpg)
Esempio di classe JavaEsempio di classe Java
class Auto {
public int numeroRuote; public int cilindrata; public int porte; ….. public void frenare(){ //.... }
}
File Auto.java Astrarre il concetto di Auto
attraverso la definizione degli
attributi/variabili dichiarate di
tipo intero (int) e pubbliche
(public)
Variabili (di) istanzaVariabili (di) istanza
VsVs
Variabili localiVariabili locali
![Page 9: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/9.jpg)
Modificatori di accesso Modificatori di accesso In Java l’accesso (la visibilità) di proprietà e metodi è regolata dal
programmatore facendo ricorso a parole chiaveparole chiave riconosciute dal compilatore
private
default
protected
public
Accessibili solo all’interno della classe
Accessibili all’interno dello stesso package e da tutte le classifiglie anche se definite in altri packageAccessibili da tutte le classi del programma
Accessibili all’interno dello stesso package (compilatore)
Modificatori public e private
![Page 10: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/10.jpg)
Visibilità delle variabiliVisibilità delle variabili
Come C e C++ Java consente di dichiarare variabili Come C e C++ Java consente di dichiarare variabili in qualunque punto del codice della applicazione in qualunque punto del codice della applicazione
Necessario stabilire le regole di visibilità delle variabili SCOPESCOPE
In generale diremo che una variabile ha “scope” limitato al blocco all’interno del quale è stata dichiarata
![Page 11: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/11.jpg)
I metodi in JavaI metodi in Java
Un Metodo è sinonimo di “azione”, attraverso cui
un programma esegue istruzioni gli oggetti comunicano tra loro
Il metodo più importante di Java è il MAINMAIN
Permette l’esecuzione di Permette l’esecuzione di un programma Javaun programma Java Almeno uno per applicazioneAlmeno uno per applicazione
public static void main (String args[]) { }
![Page 12: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/12.jpg)
Dichiarazione di un metodoDichiarazione di un metodo
modificatori tipo_di_ritorno nome_del_metodo (parametri) {corpo del metodo
}
modificatori: parole chiave di Java che possono essere usate per modificare in qualche modo le funzionalità e le caratteristiche di un metodo.
tipo di ritorno: il tipo di dato che un metodo restituisce dopo essere stato chiamato
nome del metodo: identificatore utilizzato quando si chiama il metodo
parametri: dichiarazioni di variabili che potranno essere passate al metodo quindi sfruttate nel corpo del metodo al momento della chiamata
corpo del metodo: insieme di comandi che verranno eseguiti quando il metodo sarà chiamato.
FIRMA DEL METODO
![Page 13: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/13.jpg)
Dichiarazione di un metodo. EsempioDichiarazione di un metodo. Esempiopublic class SerieNumeri { private int serie[ ]; private int n;
public SerieNumeri ( String s[ ] ) { n = s.length; serie = new int[n]; for (int i=0 ;i < n; i++){ serie[i] = Integer.parseInt(s[i]); } }
public double calcoloMedia () { int totale = 0; for(int i=0; i < n; i++){ totale += serie[i]; } return( (float) totale/n); } }
File SerieNumeri.java
Se il metodo ritornaqualche valore
![Page 14: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/14.jpg)
Invocazione di un metodoInvocazione di un metodo
public static void main (String args[ ] ){ SerieNumeri a = new SerieNumeri(args); System.out.println("La media e' "+a.calcoloMedia()); }
} //chiusura classe SerieNumeri
L’ accesso al metodo calcoloMedia avviene con l’operatore “dot” (.)
La sintassi da utilizzare per l’invocazione è
nomeOggetto.nomeMetodo;
In linea teorica ciò vale anche per le variabiliEs. fiat500.cilindrata
Vedremo che non è così!
![Page 15: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/15.jpg)
Istanziazione di un oggetto: i Istanziazione di un oggetto: i costruttoricostruttori
Il costruttore è un “metodo speciale” avente queste
caratteristiche:
1. Ha lo stesso nome della classe
2. Non ha tipo di ritorno
3. È chiamato ogni volta che è istanziato un oggetto
4. È presente in ogni classe. Se il programmatore non lo
introduce, ne
viene generato uno vuoto dal compilatore a run-time.OggettoX istanzaOggetto = newnew OggettoX();
Di solito un costruttore è utilizzato per inizializzare le variabili d’istanza di un oggetto.
EsempioEsempio
Viene allocata la memoria necessaria per il nostro oggetto e viene ritornata la locazione in memoria della entità creata
OverloadingOverloading dei costruttori. Al programmatore è consentito scrivere più di un costruttore per una data classe a seconda delle necessità di disegno dell’oggetto
![Page 16: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/16.jpg)
I costruttori: esempioI costruttori: esempio
class Auto {
public int numeroRuote; public Auto(){ this.numeroRuote=4; }
public Auto(int numeroRuote){ this.numeroRuote= numeroRuote; }
}
Costruttore vuoto che valorizza
di default l’attributo
numeroRuoteCostruttore che valorizza
l’attributo numeroRuote con il
valore del parametro passato
Si riferisce al valore dell’attributo
numeroRuote per l’istanza che si sta
creando
![Page 17: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/17.jpg)
IncapsulamentoIncapsulamento
Processo di mascheramento dei dettagli dell’implementazione ad altri Processo di mascheramento dei dettagli dell’implementazione ad altri oggetti per evitare riferimenti incrociati oggetti per evitare riferimenti incrociati
In Java si ottiene costruendo delle Classi dotate diIn Java si ottiene costruendo delle Classi dotate di
ATTRIBUTI ATTRIBUTI PRIVATEPRIVATE METODI DI ACCESSOMETODI DI ACCESSO AGLI ATTRIBUTI AGLI ATTRIBUTI PUBLICPUBLIC
Lettura attributoLettura attributo Modifica attributoModifica attributo
GETTER SETTER
private int attributo;
public int getAttributo(){ return this.attributo;}
public void setAttributo(int nuovoValore ){ this.attributo= nuovoValore;}
![Page 18: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/18.jpg)
Esempio: costruiamo la classe Esempio: costruiamo la classe AutomobileAutomobile
• Quali proprietà possiede?• Quali valori possono assumere? • Possono essere modificate?• Quali azioni può svolgere?• …
Poniamoci queste domande:Poniamoci queste domande:
Scriviamo la
classe in Java
Creiamo
diagramma della
classe secondo
standard UML
Istanziamola e
chiamiamo dei
metodi
![Page 19: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/19.jpg)
Parentesi necessaria…Parentesi necessaria…
GC e oggetti non più referenziatiGC e oggetti non più referenziati
2 tipi di dato2 tipi di dato
PrimitiviPrimitivi
OggettiOggetti RIFERIMENTIRIFERIMENTI
Cambia modalità di memorizzazione
int a=5;
String b=“test”;
aa55
bb
valorevalore
puntatorepuntatore test
StringString
HEAPHEAPSTACKSTACK
0B345
Diversità:Diversità:
Inizializzazione e creazione,Inizializzazione e creazione,
Valore di default,Valore di default,
Metodi associati alle istanzeMetodi associati alle istanze == confronta indirizzi di memoria== confronta indirizzi di memoria
NBNB
![Page 20: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/20.jpg)
Riferimento Vs ValoreRiferimento Vs Valore
int x = 4;int y;
y = x ;
System.out.println("x vale : " + x) ;System.out.println("y vale : " + y) ;
y = 7 ;
System.out.println("x vale : " + x) ;System.out.println("y vale : " + y) ;
Qual è l’output?Qual è l’output?
![Page 21: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/21.jpg)
Riferimento Vs Valore (2)Riferimento Vs Valore (2)
Dimension x = new Dimension(4, 4);Dimension y;
y = x;
System.out.println("x vale : " + x) ;System.out.println("y vale : " + y) ;
y.setSize(2, 2); // Modifica le coordinate
System.out.println("x vale : " + x) ;System.out.println("y vale : " + y) ;
Qual è l’output?Qual è l’output?
![Page 22: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/22.jpg)
EreditarietàEreditarietà
Creazione di una Creazione di una gerarchiagerarchia tra le classitra le classi
Meccanismo tramite il quale un oggetto è in una relazione logicarelazione logica con un altro
Sconveniente scrivere una classe per ogni oggetto che contenga tutte
le caratteristiche
Definita in modo generico
Perfezionata
EREDITAEREDITA proprietà e
metodi
AGGIUNGEAGGIUNGE proprietà e
metodi
super-classesuper-classe
sotto-classesotto-classe
EXTENDSEXTENDS
PADREPADRE
FIGLIAFIGLIA
Aumenta specificità
Esercizio: Mezzi di trasporto. Disegniamo la gerarchiaEsercizio: Mezzi di trasporto. Disegniamo la gerarchia
![Page 23: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/23.jpg)
Ereditarietà in JavaEreditarietà in Java
Parola chiave Parola chiave EXTENDSEXTENDS per definire la relazione di ereditarietà per definire la relazione di ereditarietà
class Auto extendsextends MezziDiTrasporto{ ….. }
Tutte le classi in Java ereditano da Tutte le classi in Java ereditano da ObjectObject. Se non viene specificato, il . Se non viene specificato, il compilatore lo fa implicitamente.compilatore lo fa implicitamente.
Java Java nonnon permette l’ereditarietà Multipla (Vs C++). permette l’ereditarietà Multipla (Vs C++).
Eseguita attraverso le Eseguita attraverso le INTERFACCEINTERFACCE
Classe che eredita accede alla classe padre attraverso l’istruzione Classe che eredita accede alla classe padre attraverso l’istruzione SUPER.SUPER.
Classe figlia si distingue dalla classe padre:Classe figlia si distingue dalla classe padre:
Per Per estensioneestensione Per Per ridefinizioneridefinizione
Aggiunge nuovi attributi/metodiAggiunge nuovi attributi/metodi Implementa in modo diverso i metodi della Implementa in modo diverso i metodi della classe padreclasse padre
![Page 24: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/24.jpg)
Ereditarietà e costruttoriEreditarietà e costruttoripublic class Persona { String nome; public Persona(){}
public Persona(String nome){ this.nome=nome; }}
public class Studente extends Persona { String matricola; public Studente (){}
public Studente (String nome, String matricola){ super(nome);super(nome); this. matricola = matricola; }}
Prima operazione di ogni costruttorePrima operazione di ogni costruttore
Chiamata costruttore classe padreChiamata costruttore classe padre
Classe estesaClasse estesa
Se manca, chiamato costruttore vuotoSe manca, chiamato costruttore vuoto
ObjectObject
![Page 25: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/25.jpg)
Lavoriamo su questo esempioLavoriamo su questo esempio
Creiamo le due classiCreiamo le due classi
In una terza classe con Main, istanziamo eIn una terza classe con Main, istanziamo elavoriamo sui due oggettilavoriamo sui due oggetti
11
22
![Page 26: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/26.jpg)
Ereditarietà e classi AstratteEreditarietà e classi Astratte
• una classe avente anche solo un metodo abstract è astratta, e deve essere dichiarata abstract essa stessa
• una classe astratta può però anche non avere metodi dichiarati abstract • una sottoclasse di una classe astratta è anch’essa astratta, se non
ridefinisce tutti i metodi che erano astratti nella classe base
L’ereditarietà porta riflettere sul processo di astrazione e di modellizzazione del dominio
Spesso è utile scrivere una o più classi GENERICHEGENERICHE, il cui scopo è predisporre un’interfaccia di metodi implementati diversamente da tutte le classi figlie
Progettata soltanto per svolgere la
funzione di classe classe basebase
non viene creata per derivarne istanze ma per derivarne altre classi, che dettaglieranno (specificandole) le
operazioni qui solo dichiarate
ABSTRACTABSTRACT
![Page 27: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/27.jpg)
public abstract class Animale {
public abstract String verso();
public abstract String si_muove();
public abstract String vive();
}
Esempio di classi AstratteEsempio di classi Astratte
IL REGNO ANIMALEIL REGNO ANIMALE
• ogni animale ha un qualche verso
• ogni animale si muove in qualche modo
• ogni animale vive in un qualche ambiente
non esiste “il generico animale”!
perché introdurre una tale classe “animali”?perché introdurre una tale classe “animali”?
per fattorizzare aspetti comuni classificazione degli oggetti del mondo
Procediamo con la tassonomia..Procediamo con la tassonomia..
![Page 28: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/28.jpg)
Java e il PolimorfismoJava e il PolimorfismoPossibilità per i metodi di assumere forme, cioè implementazioni, diverse Possibilità per i metodi di assumere forme, cioè implementazioni, diverse
all’interno della gerarchia delle classiall’interno della gerarchia delle classi
Tutti i veicoli a motore possiedono il metodo Tutti i veicoli a motore possiedono il metodo acceleraaccelera
automobile
pressione del pedale
moto
movimento della manopola
Consente ad oggetti differenti (ma collegati tra Consente ad oggetti differenti (ma collegati tra loro) la flessibilità di rispondere in modo loro) la flessibilità di rispondere in modo differente allo stesso tipo di messaggio. differente allo stesso tipo di messaggio.
Creiamo classe Aeroporto che implementa un metodo abilita_decollo e che accetta come
parametro un velivolo…
Nel metodo main proviamo a chiamare il metodo passando i diversi tipi di velivolo e osserviamo
cosa succede
![Page 29: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/29.jpg)
Le Interfacce in JavaLe Interfacce in Java
• CostruttoriCostruttori,,
• Variabili statiche,Variabili statiche,
• Variabili di istanzaVariabili di istanza,,
• Metodi statici.Metodi statici.
La parola chiave interface serve a creare classi astratte pure
Può contenere SOLO
costanti metodi d'istanza astratti
Non può contenere:Non può contenere:
PRIVI DI IMPLEMENTAZIONEPRIVI DI IMPLEMENTAZIONE
Serve a fornire una FORMAServe a fornire una FORMA
Per crearne una è sufficiente utilizzare la parola chiave interface invece di class
Per implementare una interfaccia si utilizza la parola chiave implements
Interfacce possono estendere PIU’ interfacce contemporaneamente.
Classe può implementare PIU’ interfacce contemporaneamente.
![Page 30: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/30.jpg)
Interfacce: esempioInterfacce: esempio
interface Strumenti {
String descrizione = "strumento musicale";
void suona() ;
}
IMPLICITAMENTE IMPLICITAMENTE static e finalstatic e final
class Flauto implements Strumenti {
public void suona() {
System.out.println(" fiuuuuuuu ");
}
}
PROTOTIPO del metodo:PROTOTIPO del metodo:
Tipo RitornoTipo Ritorno
NomeNome
ParametriParametri
![Page 31: Java base IV: Java e la programmazione O.O.. Argomenti Classi e oggetti in Java I metodi I costruttori Principi di programmazione O.O. in Java: –Incapsulamento,](https://reader035.vdocuments.net/reader035/viewer/2022062512/5542eb59497959361e8c61de/html5/thumbnails/31.jpg)
Metodi e variabili Metodi e variabili StaticheStatiche
Abbiamo visto che in Java per usare un metodo che serve sempre una istanza
Per fortuna è possibile dichiarare un metodo in modo che non richieda una istanza per essere utilizzata
POSSONO ESSERE INVOCATI ACCEDENDO DIRETTAMENTEPOSSONO ESSERE INVOCATI ACCEDENDO DIRETTAMENTEALLA CLASSE, SENZA PRIMA ISTANZIARLAALLA CLASSE, SENZA PRIMA ISTANZIARLA
Dichiarati con la Dichiarati con la parolaparola riservata riservata STATICSTATIC
Esempi di metodi statici classici:Esempi di metodi statici classici:
Metodo MAINMetodo MAIN
System.out….System.out….