History and Features of Java
JVM, JRE, JDK Concepts
Structure of a Java Program
Compiling and Running Java Programs
Difference between C, C++ and Java
Keywords, Identifiers, Variables
Data Types in Java
Constants and Literals
Type Casting
Operators (Arithmetic, Relational, Logical, Bitwise, Assignment, Ternary)
Input and Output (Scanner class, System.out)
Decision Making: if, if-else, switch
Looping: for, while, do-while
Jump Statements: break, continue
Classes and Objects
Constructors
this keyword
Static Members (variables, methods, blocks)
Access Modifiers (public, private, protected, default)
Types of Inheritance in Java
super keyword
Method Overriding
Constructor Chaining
Compile-time Polymorphism (Method Overloading)
Runtime Polymorphism (Method Overriding, Dynamic Dispatch)
Final Keyword (variables, methods, classes)
Abstract Classes and Methods
Interfaces in Java
Packages
Encapsulation (Getters and Setters)
Single and Multi-Dimensional Arrays
Array of Objects
String Handling (String, StringBuffer, StringBuilder)
String Methods
Errors vs Exceptions
Try, Catch, Finally, Throw, Throws
Multiple Catch Blocks
User-Defined Exceptions
Introduction to Collections
List, Set, Map Interfaces
ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap
Iterators
Introduction to Threads
Creating Threads (Thread class, Runnable interface)
Thread Lifecycle
Synchronization
Inter-thread Communication
File Class
Reading and Writing Files (FileReader, FileWriter, BufferedReader, BufferedWriter)
Serialization and Deserialization
Wrapper Classes
Autoboxing and Unboxing
Generics
Lambda Expressions (Java 8)
Streams API
JDBC (Database Connectivity Basics)
Mini Projects (Library Management System, Banking Application, Inventory System, Student Management System)
Debugging and Best Practices
12TH PASS