
1. INTRO TO JAVA AND OOPS
1.1. Java
1.1.1. Features
1.1.1.1. Robust
1.1.1.2. Object Oriented
1.1.1.3. Multi-threaded
1.1.1.4. Platform-independent
1.1.1.5. Simple
1.1.1.6. Secure
1.1.2. Fundamentals
1.1.2.1. Data Types
1.1.2.1.1. Primitive
1.1.2.1.2. Non-primitive
1.1.2.2. Variables
1.1.2.2.1. Local Variables
1.1.2.2.2. Instance Variables
1.1.2.2.3. Other
1.1.2.3. Operators
1.1.2.3.1. Arithmetic Operators
1.1.2.3.2. Unary Operators
1.1.2.3.3. Assignment Operator: =
1.1.2.3.4. Relational Operators
1.1.2.3.5. Logical Operators
1.1.2.3.6. Ternary Operator: ?
1.1.2.3.7. Bitwise Operators
1.1.2.3.8. Shift Operators
1.1.2.3.9. Instanceof Operator: instanceof
1.1.2.4. Tokens
1.1.2.4.1. Keywords
1.1.2.4.2. Identifiers
1.1.2.4.3. Separators
1.1.2.4.4. Literals
1.1.2.4.5. Operators
1.1.2.4.6. Comments
1.1.2.5. Control Structure
1.1.2.5.1. Decision-mkaing Statements
1.1.2.5.2. Looping Statements
1.1.2.5.3. Branching Statements (a.k.a Jump)
1.2. OOPs
1.2.1. 4 Pillars
1.2.1.1. Abstraction
1.2.1.2. Encapsulation
1.2.1.3. Polymorphism
1.2.1.4. Inheritance
1.2.2. Benefits
1.2.2.1. Code Organization & Structure
1.2.2.2. Code Reusability & Modularity
1.2.2.3. Data Hiding & Security
1.2.2.4. Allows Overloading
1.2.2.5. Real-Word Modeling
2. PACKAGES, INTERFACES AND I/O
2.1. Interfaces
2.2. Packages
2.3. I/O
3. EXCEPTION HANDLING AND INTRO TO MULTITHREADING
4. CLASSES AND INTERFACES
4.1. Class
4.1.1. Members Of A Class
4.1.1.1. Fields
4.1.1.2. Methods
4.1.1.3. Constructors
4.1.1.4. Blocks
4.1.1.5. Nested Classes & Interfaces:
4.2. Access Modifiers
4.2.1. Access Modifiers
4.2.1.1. Protected
4.2.1.2. Private
4.2.1.3. Default
4.2.1.4. Public
4.2.2. Non-Access Modifiers
4.3. Keywords
4.3.1. ‘This’
4.3.2. ‘Static’
4.3.3. ‘Final’
4.3.4. 'Abstract'
4.3.5. 'Super'
4.4. Inheritance
4.4.1. Single Inheritance
4.4.2. Multi-level Inheritance
4.4.3. Hierarchial Inheritance
4.4.4. Hybrid Inheritance