OOP Concepts

Object − objects have states and behaviors.
Class – defines the grouping of data and code, the “type” of an object
Instance – a specific allocation of a class
Message – sent to objects to make them act
Method – a “function” that an object knows how to perform
Local Variables − variables defined inside methods, constructors or blocks
Instance Variables – variables within a class but outside any method (a specific piece of data belonging to an object)
Class Variables − variables declared within a class, outside any method, with the static keyword
Abstraction – show only “relevant” data and “hide” unnecessary details of object from the user
Encapsulation – keep implementation private and seperate from interface
Polymorphism – process objects differently based on their data type, using same interface
Inheritance – hierarchical organization, share code, customize or extend behaviors

Design Pattern

Tutorialspoint Design Patterns in Java Tutorial

Javatpoint Design Patterns in Java Tutorial

DZone Design Patterns for Begineers with Java Examples

HowToDoInJava Design Patterns Tutorials

W3spoint Java Design Patterns

SourceMaking Design Patterns