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. BlueJ lets you create and test objects, offering a better understanding than you 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.
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
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.