Home Page Icon
Home Page
Table of Contents for
PART III: Fundamentals of Classes and Objects
Close
PART III: Fundamentals of Classes and Objects
by
Job Ready Java
Cover
Title Page
Introduction
WHAT DOES THIS BOOK COVER?
READER SUPPORT FOR THIS BOOK
PART I: Getting Set Up
Lesson 1: Installing Java
THE JAVA UNIVERSE
INSTALLING OpenJDK
CREATING YOUR FIRST JAVA PROGRAM
USING THE COMPILER AND JAVA VIRTUAL MACHINE
SUMMARY
Lesson 2: Installing a Development Environment: NetBeans
GETTING STARTED
UNDERSTANDING THE VALUE OF AN IDE
INSTALLING NETBEANS
RUNNING NETBEANS
SUMMARY
Lesson 3: Using an Integrated Development Environment
USING AN IDE
USING THE DEBUGGING TOOLS
UNDERSTANDING SOURCE CONTROL
SUMMARY
PART II: Basics of Object Oriented Programming
Lesson 4: Using Program Statements and Variables
APPROACH
CONCEPTS
LANGUAGE BUILDING BLOCKS
SUMMARY
EXERCISES
Lesson 5: Collecting and Parsing Input from the User
CONSOLE INPUT AND OUTPUT
PARSING DATA
DEALING WITH BAD NUMBERS: NumberFormatException
SCANNER PROBLEMS
SUMMARY
EXERCISES
Lesson 6: Pulling It All Together: Building a Useful Program
PLANNING THE PROGRAM
CREATING THE CODE
RUNNING THE PROGRAM
SUMMARY
EXERCISES
Lesson 7: Controlling Program Flow
WHAT CAN OUR CODE DO?
DECISIONS AND BOOLEAN EXPRESSIONS
TERNARY OR CONDITIONAL OPERATOR
SWITCH STATEMENT
COMPARING FOR EQUAL STRINGS
SUMMARY
EXERCISES
Lesson 8: Looping Program Flow
LOOPS
USING WHILE LOOPS
USING DO-WHILE LOOPS
USING FOR LOOPS
SUMMARY
EXERCISES
Lesson 9: Understanding Flowcharts and Algorithms
FLOWCHART BASICS
FLOWCHARTING
FLOWCHART EXAMPLE
SUMMARY
EXERCISES
Lesson 10: Adding Randomness to Your Programs
INITIALIZING THE RANDOM OBJECT
GENERATING RANDOM INTEGERS
GENERATING RANDOM DOUBLES
REVISITING THE NUMBER GUESSING GAME
OTHER RANDOM OPTIONS
SUMMARY
EXERCISES
Lesson 11: Debugging
CREATING A FILE TO DEBUG
SETTING BREAKPOINTS
SUMMARY
EXERCISES
Lesson 12: Adding Methods
WHY METHODS?
DEFINING METHODS
METHOD FORMS
PULLING IT ALL TOGETHER
SCOPE
DEBUGGING AND STEP INTO
SUMMARY
EXERCISES
Lesson 13: Organizing with Arrays
WHAT IS AN ARRAY?
DECLARING ARRAYS
INITIALIZING ARRAYS
ACCESSING ARRAY ELEMENTS
ITERATING THROUGH ARRAYS
CHANGING THE SIZE OF AN ARRAY
DEALING WITH ERRORS
SUMMARY
EXERCISES
PART III: Fundamentals of Classes and Objects
Lesson 14: Object-Oriented Concepts
ABSTRACTION
OBJECT ORIENTATION
TYPES
PUBLIC INTERFACE/PRIVATE IMPLEMENTATION
ENCAPSULATION AND DATA HIDING
SINGLE RESPONSIBILITY PRINCIPLE AND COHESION
DELEGATION
SUMMARY
Lesson 15: Creating Classes and Types
CREATING NEW TYPES
CLASSES VS. OBJECTS
PROPERTIES, ACCESSORS, AND MUTATORS
DOT OPERATOR
this KEYWORD
METHODS/BEHAVIORS
CONSTRUCTORS
OBJECT INSTANTIATION AND METHOD INVOCATION
static KEYWORD
PULLING IT ALL TOGETHER
SUMMARY
EXERCISES
Lesson 16: Managing Storage and Memory
PROGRAMS AND MEMORY
GARBAGE COLLECTION
REFERENCE AND NULL VALUES
SUMMARY
Lesson 17: Exploring Interfaces, Composition, and Inheritance
HOW DO THESE TOOLS HELP?
INTERFACES
COMPOSITION AND INHERITANCE
USING INTERFACES, COMPOSITION, AND INHERITANCE
SUMMARY
Lesson 18: Diving into Interfaces
WHAT IS AN INTERFACE?
DECLARING AN INTERFACE
IMPLEMENTING AN INTERFACE
INTERFACE RESTRICTIONS
IMPLEMENTING MULTIPLE INTERFACES
EXTENDING AN INTERFACE
INTERFACES AND POLYMORPHISM
SUMMARY
Lesson 19: Diving into Composition
WHAT IS COMPOSITION?
SUMMARY
EXERCISES
Lesson 20: Diving into Inheritance
EVERYTHING EXTENDS OBJECT
TERMINOLOGY
ACCESS CONTROL
INHERITANCE
CODE REUSE THROUGH INHERITANCE
METHOD OVERLOADING
METHOD OVERRIDING
CONSTRUCTORS
POLYMORPHISM
CALLING METHODS POLYMORPHICALLY
ABSTRACT BASE CLASSES
SUMMARY
EXERCISES
Lesson 21: Understanding Collections
COLLECTIONS IN JAVA
JAVADOC
COLLECTIONS FRAMEWORK STRUCTURE
INTERFACE VS. IMPLEMENTATION
ITERATOR
COMMONLY USED INTERFACES IN THE COLLECTIONS FRAMEWORK
SUMMARY
Lesson 22: Introduction to Lists
LIST
TYPES OF LISTS
UNDERSTANDING GENERICS
USING LISTS
ENHANCED APPROACHES TO ACCESS LIST ITEMS
SUMMARY
EXERCISES
Lesson 23: Exploring Maps
MAP INTERFACE
HashMap
CREATING AND ADDING ENTRIES TO A MAP
MANIPULATING WITH ENTRIES IN A MAP
GETTING KEYS AND LISTING MAPPED VALUES IN A MAP
SUMMARY
EXERCISES
Lesson 24: Using Simple File Input and Output
DATA STORAGE AND REPRESENTATION
FILE FORMAT, MARSHALING, AND UNMARSHALING
SIMPLE FILE I/O
SUMMARY
EXERCISES
Lesson 25: Applying Application Design
CRUD APPLICATIONS
THE MODEL-VIEW-CONTROLLER PATTERN
PACKAGES
SOFTWARE DEVELOPMENT LIFECYCLEOVERVIEW
AGILE DEVELOPMENT
SUMMARY
Lesson 26: Handling Exceptions
EXCEPTION HANDLING
CATCH OR SPECIFY REQUIREMENT
EXCEPTION TYPES
HANDLING (CATCHING) EXCEPTIONS
SPECIFYING AND THROWING EXCEPTIONS
EXCEPTION TRANSLATION AND ENCAPSULATION
SUMMARY
EXERCISES
NOTE
Lesson 27: Pulling It All Together: Building the Class Roster App
APPLICATION REQUIREMENTS AND USE CASES
UNDERSTANDING THE APPLICATION STRUCTURE
SETTING UP THE CLASS ROSTER APPLICATION SHELL
CREATING THE MENU SYSTEM
ADDING A STUDENT USE CASE
VIEWING ALL STUDENTS USE CASE
GETTING A STUDENT USE CASE
REMOVING A STUDENT USE CASE
HANDLING UNKNOWN COMMAND AND EXITING
WORKING WITH DEPENDENCY INJECTION
HANDLING APPLICATION EXCEPTIONS
ADDING FILE PERSISTENCE
SUMMARY
EXERCISES
PART IV: Intermediate Java
Lesson 28: Exploring the Service Layer
THE ROLE OF THE SERVICE LAYER
SERVICE LAYER EXCEPTIONS
SERVICE LAYER API DESIGN
NEW BUSINESS RULES
CREATE A STUDENT
SERVICE LAYER METHODS FOR GETTING STUDENTS
SUMMARY
Lesson 29: Pulling It All Together: Coding the Class Roster Service Layer
CREATE A SERVICE LAYER INTERFACE
CREATE NEW EXCEPTIONS
CREATE THE SERVICE LAYER IMPLEMENTATION
MODIFY THE CONTROLLER
MODIFY THE APP
ADD THE AUDIT LOG FEATURE
SUMMARY
Lesson 30: Doing Unit Testing
UNIT TESTING
TYPES OF UNIT TESTING
JUnit
GIVEN/WHEN/THEN
STATELESS UNIT TESTING
IMPLEMENTING UNIT TESTS
SUMMARY
Lesson 31: Testing Stateful Code
UNIT TESTING STATEFUL CODE
SEPARATING PRODUCTION AND TEST DATA
CLASS ROSTER DAO TEST DESIGN
UNIT TESTING THE SERVICE LAYER
SUMMARY
EXERCISES
Lesson 32: Including Magic Numbers and Enums
MAGIC NUMBERS
ENUMS
ENUM MEMBERS
SUMMARY
EXERCISES
Lesson 33: Manipulating Dates and Times
ISO CALENDAR
HUMAN TIME AND MACHINE TIME
LOCAL AND ZONED CLASSES
PERIODS AND DURATION
WORKING WITH LocalDate OBJECTS
GETTING THE TIME WITH LocalDateTime
WORKING WITH DATE CALCULATIONS
WORKING WITH LEGACY DATES
SUMMARY
EXERCISES
Lesson 34: Using the BigDecimal Class
EXPLORING BIGDECIMAL
WORKING WITH BIGDECIMAL
DOING CALCULATIONS WITH BigDecimals
SUMMARY
EXERCISES
Lesson 35: Working with Lambdas and Streams
USING AGGREGATE OPERATIONS
UNDERSTANDING PIPELINES AND STREAMS
STREAMS VS. ITERATION
EXPLORING LAMBDAS
WORKING WITH STREAM AND LAMBDA SYNTAX
SUMMARY
EXERCISES
PART V: Advanced Java
Lesson 36: Working with the Spring Framework
DEPENDENCY INJECTION AND PROGRAMMING TO INTERFACES
WHY SPRING?
UNDERSTANDING THE SPRING APPROACH
PULLING IT ALL TOGETHER: SPRING DI IN ACTION
SUMMARY
Lesson 37: Introducing Maven
WHAT IS MAVEN?
PROJECT OBJECT MODEL
DEPENDENCY MANAGEMENT
MAVEN LIFECYCLE
SUMMARY
Lesson 38: Pulling It All Together: Building the Class Roster with Spring
INCLUDE THE SPRING LIBRARIES
ADD SPRING CONFIGURATION FILES
CONVERT THE APP CLASS TO USE SPRING
CONVERT THE UNIT TESTS TO USE SPRING
EXCEPTION CONDITIONS
SUMMARY
EXERCISES
PART VI: Appendices
Appendix A: Code Checklist
FUNCTIONALITY
STYLE
Appendix B: Java Concepts Study List
VARIABLES
METHODS
ARRAYS
MAKING DECISIONS
LOOPS
JAVA/JVM
OBJECTS
INTERFACES
INHERITANCE
N-TIER DESIGN
COLLECTIONS
EXCEPTIONS
LAMBDAS/STREAMS
SPRING CORE
Appendix C: Agile Approach Checklist for Console CRUD Applications
ASSUMPTIONS
REQUIREMENT STEPS
DESIGN STEPS
CONSTRUCTION STEPS
Index
Copyright
About the Authors
About the Technical Writer
About the Technical Editors
Acknowledgments
End User License Agreement
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Lesson 13: Organizing with Arrays
Next
Next Chapter
Lesson 14: Object-Oriented Concepts
PART III
Fundamentals of Classes and Objects
Lesson 14: Object-Oriented Concepts
Lesson 15: Creating Classes and Types
Lesson 16: Managing Storage and Memory
Lesson 17: Exploring Interfaces, Composition, and Inheritance
Lesson 18: Diving into Interfaces
Lesson 19: Diving into Composition
Lesson 20: Diving into Inheritance
Lesson 21: Understanding Collections
Lesson 22: Introduction to Lists
Lesson 23: Exploring Maps
Lesson 24: Using Simple File Input and Output
Lesson 25: Applying Application Design
Lesson 26: Handling Exceptions
Lesson 27: Pulling It All Together: Building the Class Roster App
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset