Learn Object-Oriented Java the Hard Way
Really learn object-oriented Java step-by-step
“Learn Object-Oriented Java the Hard Way” is a book that teaches you the object-oriented parts of Java with over 50 complete example programs that illustrate each concept step-by-step.
Each concept is demonstrated with working code and explained, so that you understand what every line of code does and why it is there. After you work through this book, you should be able to understand the basic structure and function of any Java program, even large programs by professional developers.
The exercises and explanations in this book are distilled from my over fifteen years of experience teaching object-oriented programming to everyday students.
Your book will be available as a download in PDF, Kindle (.mobi) and iPad (.epub) versions so you can read it on all of your favorite devices.
Get Started
The Book | |
---|---|
There are no tutorial videos yet; I'll be recording those over the next few months. | |
Sample Book | |
If you're still undecided, you should read the first twelve chapters for free on this site or I can email you a sample book containing just the free chapters. |
What You Will Learn
“Learn Object-Oriented Java the Hard Way” focuses on the object-oriented parts of Java and covers them deeply, with plenty of complete working examples and the explanations you won’t find in other books.
You need some experience in Java or a similar language before you will be able to make it through this material. If you have never programmed before in any language, you should start with my intro book “Learn Java the Hard Way”. But if you already know the basics of Java or another language like C, C++, C# or Javascript, this book is for you. And if you only know a very different language like Python or Ruby then you will have some catching up to do but will probably still be fine.
In the final chapter you’ll write a graphical version of a popular checker-dropping game and know how to package it up in a JAR file to send to others. You will learn:
- How to install the Java compiler and a text editor
- How to work with Java objects and create your own classes
- Fields and instance variables
- Methods and Parameters
- Constructors
- Reference Variables vs Primitives
- Generics and Casting
- Inheritance
- Interfaces
- Abstract Classes and Methods
- Packages
- How to create JAR files
- Graphical User Interfaces in JavaFX
- Mouse and Keyboard Input in GUIs
- Testing and Efficiency
- Algorithmic Complexity and Big-O Notation
- ArrayLists
- Sorting
...and more!