- Evolution of Java
- Java Features
- Simple, Portable, Object-oriented, Robust, High-performance, Dynamic, Secure, Multithreaded, Architecture-Neutral, Distributed.
- Java Workflow
- JVM, JRE, JDK.
- Basic Syntax
- Classes, Methods (
main
method), Comments (single-line, multi-line, Javadoc), Identifiers.
- Classes, Methods (
- Compilation and Execution
javac
andjava
commands.
- User Input
Scanner
class.
- Data Types
- Primitive (
int
,float
,double
,boolean
,char
). - Non-primitive (
String
,Array
, Objects).
- Primitive (
- Type Casting
- Widening (Implicit) and Narrowing (Explicit).
- Operators
- Arithmetic, Assignment, Comparison, Logical, Bitwise.
- Selection Statements
if-else
,switch-case
.
- Iteration Statements
for
,while
,do-while
, Enhancedfor
loop.
- Jump Statements
break
,continue
,return
.
- Methods
- Definition, Parameters, Arguments, Scope (Method and Block).
- Software Crisis
- OOP Advantages
- Modularity, Reusability, Extensibility, Maintainability.
- Core OOP Concepts
- Objects, Classes, Instantiation, Reuse.
- Attributes and Methods
- Instance variables, Method calls.
- Four Pillars of OOP
- Encapsulation, Inheritance, Polymorphism, Abstraction.
- Classes and Objects
- Definition, Instantiation (
new
keyword), Constructors (Default, Parameterized).
- Definition, Instantiation (
- Methods
- Instance methods,
this
keyword.
- Instance methods,
- Constructors
- Purpose, Overloading,
this
keyword usage.
- Purpose, Overloading,
- Definition
- Data hiding, Access modifiers (
public
,private
,protected
, default).
- Data hiding, Access modifiers (
- Getter and Setter Methods
- Class/Static Variables and Methods
static
keyword, Usage scenarios.
- Types of Arrays
- One-dimensional, Multi-dimensional.
- Declaration and Initialization
- Common Operations
- Accessing elements, Looping (
for
, Enhancedfor
),length
property.
- Accessing elements, Looping (
- String Creation
- Literal vs.
new
keyword.
- Literal vs.
- String Methods
length()
,charAt()
,concat()
,substring()
,toUpperCase()
, etc.
- String Immutability
- StringBuilder and StringBuffer
- Mutable strings, Thread safety.
- Definition and Importance
- Types of Inheritance
- Single, Multilevel, Hierarchical.
super
Keyword- Method Overriding
- Access Modifiers in Inheritance
- Types
- Compile-time (Method Overloading, Constructor Overloading).
- Runtime (Method Overriding).
- Examples
- Hierarchical inheritance, Superclass reference to subclass objects.
- Definition
- Hiding implementation details.
- Abstract Classes
- Syntax, Abstract methods, Constructors.
- Interfaces
- Syntax, Multiple inheritance, Default and static methods (Java 8+).
- Abstraction vs. Encapsulation
- Exceptions
- Types: Checked, Unchecked, Errors.
- Handling:
try-catch
,finally
,throw
,throws
.
- Threading
- Thread lifecycle, Creation (extending
Thread
, implementingRunnable
). - Synchronization, Inter-thread communication (
wait
,notify
).
- Thread lifecycle, Creation (extending