Serializzazione e Deserializzazione in Java

Serializzazione

Per serializzazione si intende la trasformazione di un oggetto java in uno stream di byte.

La deseralizzazione, invece, è la trasformazione di uno stream di byte in oggetti java. Queste operazioni vengono, ad esempio, effettuate quando  si  invoca un metodo, che prende in input un oggetto, che si trova su una macchina remota (quindi con diversa JVM) o durante la lettura/scrittura di un file binario.

java serializzazione e deserializzazione
Continua a leggere

Java Classe Anonima

INDICE TUTORIAL

Java fornisce un meccanismo per dichiarare e istanziare una classe allo stesso tempo. Queste classi prendono il nome di classi anonime, poiché sono delle classi senza nome, locali, dichiarate all’interno di un metodo.

java classi anonime

Vengono utilizzate quando si ha la necessità di avere una classe che serve solo in quel punto e in quel momento; risulta, quindi, inutile scrivere una normale classe che non verrà mai riutilizzata. E’ come se fossero delle classi usa e getta.

Continua a leggere

Java Modificatori Di Accesso

INDICE TUTORIAL

Modificatori di ACCESSO

Modificatore di accessoEffetto
Publicvisibile da qualsiasi parte del programma
Privatevisibile solo all’interno della stessa  classe
Protectedvisibile solo dalle classi dello stesso package e da tutte le sottoclassi
Defaultvisibile dallo stesso package e dalle sottoclassi se sono nello stesso package. È la visibilità assegnata di default se non viene specificato nulla.

 

Java Access for control, private, public, and protected
Continua a leggere

DIFFERENZE TRA CLASSI ASTRATTE E INTERFACCE

INDICE TUTORIAL

Differenze tra classi astratte e interfacce

Entrambe permettono di definire un concetto senza dover conoscere i dettagli di una classe, dettagli che saranno implementati dai figli.

Difference between Abstract class and Interface in Java 8 | Java67

Differenze sintattiche principali:

  • Una classe astratta, oltre a metodi astratti, può contenere dati e metodi non astratti. Una interfaccia no.
  • Una classe astratta può avere un costruttore. Una interfaccia no.
  • In una interfaccia si possono definire solo costanti.
  • In una interfaccia i metodi la visibità sarà public in automatico (c’è anche la possibilità di usare quella di default ma i figli saranno “costretti” a  fare l’override dei metodi con public, anche se sono nello stesso package).
Continua a leggere

Interfacce Java in 5 Minuti

INDICE TUTORIAL

Interfacce

Le interfacce, sono entità simili a classi, ma i metodi non hanno corpo. Servono a dare dei comportamenti standard a tutte le sottoclassi. Vengono definite tramite l’uso della parola interface al posto della keyword class, nella creazione di una classe.

Come concetto è molto simile ad extends, ma una sottoclasse in java può estendere soltanto un’unica superclasse, mentre una classe può implementare infinite interfaccie (ereditarietà multipla).

Continua a leggere

Classi Astratte

Indice Tutorial

Una classe astratta è simile a una normale classe: può avere attributi e metodi, ma è caratterizzata dalla parola chiave abstract. Non può essere istanziata e la sua implementazione è demandata alle sottoclassi;

Esempio:

public abstract class Animale {
    //campi
    private boolean vivo=true;
    //metodi
    public boolean isVivo() { return this.vivo; }
   
}

La classe “animali” è una categoria concettuale, non esiste “il generico animale”, ma solo animali specifici;

Continua a leggere