David J. Barnes & Michael Kölling
Objects-First with Java
A Practical Introduction using BlueJ, 6th Edition, English

This book helps to learn to program in Java in an object-oriented way. Its key advantages:

  1. It is project-driven. Concepts are introduced in the context of meaningful projects.
  2. It is objects-first, introducing classes and objects before lower-level concepts.
  3. The text is interleaved with exercises. Do them for effective learning.
  4. It is based on BlueJ, an educational IDE with object interaction and a REPL.

Our Java misconceptions relate to the following sections of that textbook:

1
Objects and classes
2
Understanding class definitions
3
Object interaction
4
Grouping objects
5
Functional Processing of Collections (Advanced)
6
More-sophisticated behavior
7
Fixed-size collections – arrays
8
Designing classes
9
Well-behaved objects
10
Improving structure with inheritance
11
More about inheritance
12
Further abstraction techniques
13
Building graphical user interfaces
14
Handling errors
15
Designing applications
16
A case study
Appendix A
Working with a BlueJ project
Appendix B
Java data types
Appendix C
Operators
Appendix D
Java control structures
Appendix E
Running Java without BlueJ
Appendix F
Using the debugger
Appendix G
Unit unit-testing tools
Appendix H
Teamwork tools
Appendix I
Javadoc
Appendix J
Program style guide
Appendix K
Important library classes

Stay up-to-date

Follow us on  twitter to hear about new misconceptions.