Useful Links
Computer Science
Programming
By Language
Java Programming
1. Introduction to Java
2. Core Language Fundamentals
3. Object-Oriented Programming (OOP) in Java
4. Exception Handling
5. Java Collections Framework
6. Generics
7. Input/Output (I/O)
8. Concurrency and Multithreading
9. Modern Java Features (Java 8 and beyond)
10. Java Virtual Machine (JVM) Internals
11. Build Tools and Dependency Management
12. Testing in Java
13. Database Connectivity (JDBC)
Object-Oriented Programming (OOP) in Java
Core OOP Concepts
Encapsulation
Data Hiding
Accessors and Mutators (Getters and Setters)
Inheritance
Code Reuse
IS-A Relationship
Polymorphism
Method Overriding
Dynamic Method Dispatch
Abstraction
Abstract Classes
Interfaces
Classes and Objects
Defining a Class
Class Syntax
Class Members
Fields (Instance Variables)
Declaration and Initialization
Access Modifiers
Methods (Instance Methods)
Method Declaration
Method Invocation
Creating Objects (Instantiation)
Using the new Keyword
Reference Variables
The new Keyword
Memory Allocation
Constructors
Purpose of Constructors
Default Constructor
Parameterized Constructors
Constructor Overloading
The this Keyword
Referring to Current Object
Constructor Chaining
Methods in Depth
Method Signature
Name, Parameters, Return Type
Method Overloading
Rules for Overloading
Passing Arguments
Pass-by-Value Semantics
Effects on Primitives and References
Returning Values
Return Types
Void Methods
Access Modifiers
public
Accessibility
protected
Package and Subclass Access
private
Encapsulation
Default (Package-Private)
No Modifier
Static Members
The static Keyword
Static Variables (Class Variables)
Static Methods
Static Blocks
Static Import
Inheritance (extends)
Superclass and Subclass Relationships
The super Keyword
Accessing Superclass Members
Invoking Superclass Constructors
Method Overriding
Rules and Annotations
The @Override Annotation
The final Keyword
Final Classes
Final Methods
Final Variables (Constants)
Polymorphism
Runtime Polymorphism
Dynamic Method Dispatch
The instanceof Operator
Type Checking
Abstraction
Abstract Classes
Abstract Methods
Instantiation Rules
Abstract Methods
Declaration and Implementation
Interfaces
Defining Interfaces
Syntax and Structure
Implementing Interfaces
Multiple Interface Implementation
Default Methods in Interfaces
Static Methods in Interfaces
Marker Interfaces
Purpose and Examples
Functional Interfaces
Single Abstract Method
Use with Lambdas
Nested and Inner Classes
Member Inner Class
Accessing Outer Class Members
Static Nested Class
Static Context
Local Inner Class
Scope and Usage
Anonymous Inner Class
Instantiation and Use Cases
The Object Class
Overview and Importance
equals() Method
Equality Comparison
hashCode() Method
Hashing and Collections
toString() Method
String Representation
clone() Method
Object Cloning
getClass() Method
Runtime Type Information
Previous
2. Core Language Fundamentals
Go to top
Next
4. Exception Handling