BlueJ is an interactive Java development environment. It provides a unique user interface that presents a graphical display of the application classes and their relationships, and it lets users interactively create objects of any class. Once objects have been created, users can interact with them directly. This interaction mechanism allows for much greater testing and experimentation than in conventional environments. BlueJ is suited for teaching and learning OO and Java.