Bueno, otros te lo explicaran mejor, pero voy a intentarlo.
Imaginate el objeto Habitacion
public class Habitacion {
//Atributos de clase
int paredes;
int camas;
boolean ventana;
//Constructor
public Habitacion( int numeroParedes, int numeroCamas, boolean tieneVentana){
paredes = numeroParedes; camas = numeroCamas; ventana = tieneVentana; }
//Getters y Setters (estos los imaginas)
} //fin
Ahora imagina el objeto Casa
public class Casa{
//atributos de clase
Habitacion habitacion1;
Habitacion habitacion2;
Cocina cocina; (esta clase no la he creado pero imaginala o creala con sus atributos, nevera, horno...)
//Constructor
public Casa (Habitacion habit1, Habitacion habit2, Cocina cocina1){
habitacion1 = habit1; habitacion 2 = habit2; cocina = cocina1; }
//Getters y setters
} //fin
En este ejemplo ves como un objeto (Habitacion), forma parte a su vez de otro objeto (Casa) en forma de atributo de la clase.