Core Java Notes
1. Introduction to Java
Java is a high-level, class-based, object-oriented programming language that is designed to have as
few implementation dependencies as possible. It is a general-purpose programming language
intended to let application developers write once, run anywhere (WORA), meaning that compiled
Java code can run on all platforms that support Java without the need for recompilation.
2. Features of Java
a. Simple
b. Object-Oriented
c. Platform Independent
d. Secured
e. Robust
f. Multithreaded
g. Portable
h. High Performance
i. Distributed
j. Dynamic
3. Object-Oriented Programming (OOP) Concepts
a. Class: A blueprint for creating objects.
b. Object: An instance of a class.
c. Inheritance: Mechanism to acquire properties from another class.
d. Polymorphism: Ability to take many forms (method overloading and overriding).
e. Abstraction: Hiding complex implementation details and showing only functionality.
f. Encapsulation: Bundling the data (variables) and code (methods) together.
4. Exception Handling
Exception handling in Java is a powerful mechanism to handle runtime errors, maintaining the
normal flow of the application. Key keywords include:
a. try: Code that might throw an exception is placed inside the try block.
b. catch: Handles the exceptions that occur in the try block.
c. finally: Block that executes regardless of an exception occurring or not.
d. throw: Used to explicitly throw an exception.
e. throws: Used to declare an exception.
5. Multithreading
Multithreading is a Java feature that allows concurrent execution of two or more parts of a program
for maximum utilization of the CPU. Threads can be created by:
a. Extending the Thread class
b. Implementing the Runnable interface
6. Collections Framework
The Collections Framework is a unified architecture for representing and manipulating collections. It
includes:
a. List: An ordered collection (e.g., ArrayList, LinkedList).
b. Set: A collection that contains no duplicate elements (e.g., HashSet, LinkedHashSet).
c. Map: A collection of key-value pairs (e.g., HashMap, TreeMap).
d. Queue: A collection designed for holding elements prior to processing (e.g., PriorityQueue,
LinkedList).
7. Conclusion
Java is a versatile and powerful programming language that supports the development of robust,
secure, and scalable applications. Understanding the core concepts is essential for leveraging
Java's full potential.