class Human { private final String name; private final Heart heart; public Human(String name) { this.name = name; this.heart = new Heart(); // Composition: Human creates Heart } public Heart getHeart() { return heart; } public String getName() { return name; } } class Heart { public void beat() { System.out.println("Heart is beating..."); } } public class Example01 { public static void main(String[] args) { // --- Create a Human (automatically creates a Heart) --- Human human = new Human("Ahmed"); System.out.println(human.getName() + " is alive."); human.getHeart().beat(); // In code: if we set the reference to null, the Heart becomes unreachable. human = null; System.out.println("Human object reference removed. " + "Heart no longer exists independently."); } }