Praticamente l'incapsulamento viene fatto tramite la visibilita private alle variabili di instanza di un oggetto;
es. private int num;
in questo modo il funzionamento interno della classe viene nascosto e una modifica apportata ad esso non avrà influssi sul codice presente nel resto del programma. infatti per accedere o modificare le variabili di istanza useremo dei metodi public che sarebbero i get e i set.
una variabile o un metodo static sono piu generici, ovvero non ricollegabili a singole istanze, ma come prerogativa della classe intera. Quindi varibiali o metodi di utilità generale. E quest'ultimi possono essere richiamati senza inizializzare l'oggetto.
spero di essere stato chiaro