Book Image

Java 9 with JShell

By : Gaston C. Hillar
Book Image

Java 9 with JShell

By: Gaston C. Hillar

Overview of this book

The release of Java 9 has brought many subtle and not-so-subtle changes to the way in which Java programmers approach their code. The most important ones are definitely the availability of a REPL, known as JShell, which will make experiments and prototyping much more straightforward than the old IDE-based project-led approach. Another, more subtle change can be seen in the module system, which will lead to more modularized, maintainable code. The techniques to take full advantage of object-oriented code, functional programming and the new modularity features in Java 9 form the main subjects of this book. Each chapter will add to the full picture of Java 9 programming starting out with classes and instances and ending with generics and modularity in Java.
Table of Contents (23 chapters)
Java 9 with JShell
Credits
About the Author
Acknowledgement
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
Index

Refactoring existing code to take advantage of object-oriented programming


If we start writing object-oriented code from scratch, we can take advantage of everything we learned in the previous chapters and all the features included in Java 9. As the requirements evolve, we will have to make changes to the interfaces and the classes to further generalize or specialize them, edit them, and create new ones. The fact that we started our project with an object-oriented approach will make it easy to make the necessary adjustments to the code.

Sometimes, we are extremely lucky and we have the chance to follow best practices as soon as we kick off a project. However, many other times we aren't so lucky and we have to work on projects that didn't follow best practices. In these cases, instead of following the same bad practices that generated error-prone, repetitive, and difficult-to-maintain code, we can use the features provided by our favorite IDE and additional helper tools to refactor existing...