Vai al contenuto

Java/Classi e oggetti

Wikibooks, manuali e libri di testo liberi.
(Reindirizzamento da Java/Classi)

Java

Linguaggio Java
Linguaggio Java

categoria · sviluppo · modifica
Come posso contribuire?

→ Vai su Wikiversity

Java:  Guida alla programmazioneJava/Introduzione - Specifica di linguaggio - Libreria standardJava/Comunicazione seriale

Tipi di datoJava/Tipi di datoEspressioniJava/OperatoriVariabiliJava/Variabili localiIstruzioniJava/IstruzioniStrutture di controlloJava/Strutture di controlloPackageJava/Package
Classi e oggettiJava/Classi e oggettiOggettiJava/OggettiMetodiJava/MetodiMetodi (cont.)Java/Metodi/2ArrayJava/Array
Modificatori di accessoJava/Modificatori di accessoEreditarietàJava/Ereditarietà
Gestione delle eccezioniJava/Gestione delle eccezioniGenericsJava/Generics
Thread e parallelismoJava/MultithreadingInterblocco ricontrollatoJava/Interblocco ricontrollato
Alcune differenze con il CJava/Concetti fondamentaliLessicoJava/LessicoGrammaticaJava/Grammatica

Introduzione

[modifica | modifica sorgente]

Ogni oggetto dovrebbe rappresentare un elemento della vita reale e gli aspetti che lo identificano sono raggruppati insieme in un unico punto del programma, cioè la definizione della classe da cui è stato istanziato l'oggetto.

Ogni metodo è dotato di una signature: tipo di ritorno, nome del metodo e lista di argomenti. Nella definizione del metodo sono presenti anche altri metadati, ma quelli che distinguono univocamente un metodo tra gli altri di una certa classe (la signature, appunto) sono questi.

Un campo o metodo di una classe può essere statico o no. Un membro statico si differenzia sintatticamente da uno di istanza per la presenza della parola-chiave static nella definizione. Un membro di istanza "appartiene" alle istanze della classe che lo definisce, nel senso che gli altri oggetti del programma chiamano il metodo o usano il campo appartenente alla singola istanza specifica. Un membro statico, invece, non appartiene a un certo oggetto, ma piuttosto alla classe in cui è definito.

La presenza dei membri statici permette di ottenere qualcosa di simile alle variabili globali e alle funzioni dei linguaggi procedurali, come il C. In alcuni casi i membri statici sono indispensabili, ma farne un uso eccessivo significa allontanarsi dall'aspetto object-oriented del Java ed è sconsigliato. In Java non si parla di funzioni, ma sempre e solo di metodi (anche quando sono statici).

Si riporta l'esempio funzionante del capitolo "Il linguaggio" della classe HelloWorld:

public class HelloWorld {
    public static void main (String args[]) {
        System.out.println("Hello, world!");
    }
}

È convenzione che i nomi delle classi comincino con la maiuscola, ed è bene rispettare questa prassi, per la leggibilità del codice, anche se non è obbligatoria.