Book Image

Learn Java 12 Programming

By : Nick Samoylov
Book Image

Learn Java 12 Programming

By: Nick Samoylov

Overview of this book

Java is one of the preferred languages among developers, used in everything right from smartphones, and game consoles to even supercomputers, and its new features simply add to the richness of the language. This book on Java programming begins by helping you learn how to install the Java Development Kit. You will then focus on understanding object-oriented programming (OOP), with exclusive insights into concepts like abstraction, encapsulation, inheritance, and polymorphism, which will help you when programming for real-world apps. Next, you’ll cover fundamental programming structures of Java such as data structures and algorithms that will serve as the building blocks for your apps. You will also delve into core programming topics that will assist you with error handling, debugging, and testing your apps. As you progress, you’ll move on to advanced topics such as Java libraries, database management, and network programming, which will hone your skills in building professional-grade apps. Further on, you’ll understand how to create a graphic user interface using JavaFX and learn to build scalable apps by taking advantage of reactive and functional programming. By the end of this book, you’ll not only be well versed with Java 10, 11, and 12, but also gain a perspective into the future of this language and software development in general.
Table of Contents (25 chapters)
Free Chapter
1
Section 1: Overview of Java Programming
5
Section 2: Building Blocks of Java
15
Section 3: Advanced Java

Polymorphism in action

Polymorphism is the most powerful and useful feature of OOP. It uses all other OOP concepts and features we have presented so far. It is the highest conceptual point on the way to mastering Java programming. After it, the rest of the book will be mostly about Java language syntax and JVM functionality.

As we have stated in the OOP concepts section, polymorphism is the ability of an object to behave as an object of different classes or as an implementation of different interfaces. If you search the word polymorphism on the Internet, you will find that it is "the condition of occurring in several different forms." Metamorphosis is "a change of the form or nature of a thing or person into a completely different one, by natural or supernatural means." So, Java polymorphism is the ability of an object to behave as if going through a metamorphosis...