This chapter introduces you to Java and discusses some of its most important features. If you skipped the C++ introduction it’d be better to go back and read it, in order to get familiar with the basic object-oriented concepts. The implementation examples we are using are quite similar, in order to become easier for you to see how the same features are supported in both languages and compare the code.