Objects First with Java: A Practical Introduction Using BlueJ, Global Edition, 7th edition
Published by Pearson (March 12, 2025) © 2025
  • David J. Barnes
  • Michael Kölling

Title overview

For courses in object-oriented programming. 

A hands-on approach to functional programming 

Objects First with Java introduces object-oriented programming from a software engineering perspective. The text integrates BlueJ, an interactive Java development environment that visualizes class structure. Students can create and test objects, offering a better understanding than they would from simply reading source code. Unlike traditional textbooks, the chapters are not ordered by language features but by software development concepts. 

The 7th Edition reflects the latest features and capabilities of Java with new material, code examples, GUI JavaFX code samples and more. It is thoroughly updated to include all recent Java language additions, and now introduces the concepts and technologies to support teams more formally.

Hallmark features of this title 

  • BlueJ lets students create objects of any class and interact with their methods. Blue J is easy to use and specifically designed to support teaching and learning. 
  • The functional approach emphasizes that functional constructs are most prominent when working with collections of objects using the traditional approach of loops and explicit iteration and reinforcing the importance of mastering both.  
  • An iterative style and project-driven approach help students build and test their knowledge. 
  • Chapter questions and hooks suggest outside material to explore topics in greater detail. 
  • Example projects illustrate the wide variety of contexts in which concepts can be applied. 
  • Discussion examples examine projects in detail to illustrate the important concepts of each chapter.  

New and updated features of this title

  • NEW: Code examples and discussions reflect the newest Java version. All GUI code samples use JavaFX, rather than Swing. 
    • The GUI toolkit is now JavaFX, which enables development of more modern-looking interfaces than the Swing toolkit used previously. It also has some better technology support, such as using separate style sheets and the optional use of an external GUI builder.  
  • NEW: BlueJ material is aligned with BlueJ 5.x.  
  • NEW: All unit testing code uses the latest JUnit version 5. 
  • REVISED: Functional language constructs (such as lambdas and streams) are no longer treated as advanced material; they have been integrated throughout the book, with some new examples added in several chapters. 
  • NEW: Recent innovations and trends in teaching and learning Java are incorporated throughout, with approximately 20% overall new book content. Extensive revisions to existing sections keep content current, with approximately 80-85% of content updated and revised. 
  • REVISED: Updated syntax of the Java code throughout uses constructs introduced in recent Java versions. This includes use of records, the new-syntax switch statements, switch expressions and pattern matching switch, several new library methods, and more.
  • NEW: 4 new chapters cover Working in Teams (Ch. 10); Recursion (Ch. 11); Data-Oriented Classes (Ch. 15); and A Brief History of Java (Ch. 16).

Key features

Features of Pearson+ eTextbook for the 7th Edition

  • NEW: Video tutorials demonstrate key programming concepts and techniques in action. The 7th Edition features approximately 35-40 videos. 

Table of contents

  • 1. Objects and classes  
  • 2. Understanding class definitions  
  • 3. Object interaction  
  • 4. Grouping objects  
  • 5. Functional processing of collections
  • 6. More-sophisticated behavior          
  • 7. Fixed-size collections: arrays  
  • 8. Designing classes  
  • 9. Well-behaved objects 
  • 10. Working in teams
  • 11. Recursion  
  • 12. Improving structure with inheritance
  • 13. More about inheritance 
  • 14. Further abstraction techniques 
  • 15. Data-oriented classes  
  • 16. A brief history of Java  
  • 17. Building graphical user interfaces 
  • 18. Handling errors 
  • 19. Designing applications 
  • 20. A case study

Appendices 

  • A. Working with a BlueJ project 
  • B. Java data types               
  • C. Operators                 
  • D. Java control structures  
  • E. Running Java without BlueJ  
  • F. Using the debugger 
  • G. JUnit unit-testing tools  
  • H. Teamwork tools  
  • I. Javadoc  
  • J. Program style guide  
  • K. Important library classes
  • L. Concept glossary

Author bios

About our authors

David J. Barnes is a Senior Lecturer in Computer Science at the University of Kent, in Canterbury, England, and mainly teaches introductory, object-oriented Programming at both undergraduate and postgraduate levels. In addition to computing education and his rich, practical experience in a wide range of programming languages, his main research also includes the area of Software Engineering. 

Michael Kölling is a Professor in the Department of Informatics at King's College London, UK. He holds a Ph.D. in Computer Science from Sydney University and has worked in Australia, Denmark, and the UK. He is the lead developer of BlueJ and Greenfoot, two educational programming environments, and his research areas of interest include object-oriented systems, programming languages, software tools, and computing education. 

Loading...Loading...Loading...