Book Image

Java Fundamentals

By : Gazihan Alankus, Rogério Theodoro de Brito, Basheer Ahamed Fazal, Vinicius Isola, Miles Obare
Book Image

Java Fundamentals

By: Gazihan Alankus, Rogério Theodoro de Brito, Basheer Ahamed Fazal, Vinicius Isola, Miles Obare

Overview of this book

Since its inception, Java has stormed the programming world. Its features and functionalities provide developers with the tools needed to write robust cross-platform applications. Java Fundamentals introduces you to these tools and functionalities that will enable you to create Java programs. The book begins with an introduction to the language, its philosophy, and evolution over time, until the latest release. You'll learn how the javac/java tools work and what Java packages are - the way a Java program is usually organized. Once you are comfortable with this, you'll be introduced to advanced concepts of the language, such as control flow keywords. You'll explore object-oriented programming and the part it plays in making Java what it is. In the concluding chapters, you'll get to grips with classes, typecasting, and interfaces, and understand the use of data structures, arrays, strings, handling exceptions, and creating generics. By the end of this book, you will have learned to write programs, automate tasks, and follow advanced courses on algorithms and data structures or explore more advanced Java courses.
Table of Contents (12 chapters)
Java Fundamentals
Preface

Introduction


In the previous lesson, we looked at the basics of object-oriented programming, such as classes and objects, inheritance, polymorphism, and overloading.

We saw how classes act as a blueprint from which we can create objects, and saw how methods define the behavior of a class while fields hold the state.

We looked at how a class can acquire properties from another class through inheritance to enable us to reuse code. Then, we learned how we can reuse a method name through overloading – that is, as long as they have different signatures. Finally, we had a look at how subclasses can redefine their own unique behavior by overriding methods from the superclass.

In this lesson, we will delve deeper into the principles of object-oriented programming and how to better structure our Java programs.

We will start with interfaces, which are constructs that allow us to define a generic behavior that any class can implement. We will then learn about a concept called typecasting, whereby we can...