OBJECT ORIENTED PROGRAMMING USING JAVA
UNIT-1: Java Basics & OOP Fundamentals [12 Hours]
- Introduction to Object-Oriented Programming (OOP):
OOP is a programming paradigm based on the concept of "objects", which can contain data and
code.
Benefits include modularity, reusability, and encapsulation.
- Procedure-Oriented vs Object-Oriented Programming:
POP focuses on functions; OOP focuses on objects and classes.
- Difference between C and Java:
C is a procedural language, while Java is object-oriented and platform-independent.
- Features of Java:
Simple, Secure, Object-Oriented, Portable, Robust, Multithreaded, Architecture-neutral.
- Objects and Classes:
A class is a blueprint; an object is an instance of a class.
- Structure of a Java Program:
Includes class declaration, main method, variables, and logic.
- Data Types, Variables and Operators:
Java supports primitive types and reference types. Operators include arithmetic, relational, logical.
- Control Structures:
Branching: if, if-else, switch; Looping: for, while, do-while.
- Methods and Constructors:
Methods define behavior; constructors initialize objects.
- Java Development Kit (JDK):
A software development environment used for developing Java apps.
- Built-in Classes: Math, Character, String, StringBuffer, Scanner
- Wrapper Classes:
Convert primitives to objects (e.g., Integer, Double).
- Abstract, Static and Final Classes:
Abstract: cannot instantiate; Static: belongs to class; Final: cannot override.
- Casting Objects and instanceof:
Used for type conversions and type checking.
- this Keyword:
Refers to the current object.
- Arrays:
Containers that hold multiple values of same type.
UNIT-2: Inheritance, Polymorphism & Packages [11 Hours]
- Inheritance:
Mechanism for a new class to inherit properties from an existing class.
Types: Single, Multilevel, Hierarchical, Hybrid.
- Super and Subclasses:
A subclass inherits from a superclass.
- Visibility Modifiers:
public, protected, private, default.
- Interface:
An interface is a reference type, like a class, that can contain only constants, method signatures.
- Polymorphism:
Compile-time (method overloading), Run-time (method overriding).
- Packages:
Organize classes and interfaces.
Built-in: java.util, java.awt, javax.swing
User-defined: created by developers.
- I/O Programming:
Standard streams: System.in, System.out.
Types of streams: byte and character streams.
UNIT-3: GUI, Events & Applets [11 Hours]
- Event Handling:
Mechanisms to handle user interactions.
Event Classes and Listener Interfaces.
- Mouse and Keyboard Events:
java.awt.event.MouseListener, KeyListener.
- GUI Components:
Panels, Frames, Buttons, Checkboxes, Radio Buttons, Labels, TextFields, TextAreas,
ComboBoxes, ScrollBars, Sliders, Menus, Dialog Boxes.
- Layout Managers:
FlowLayout, BorderLayout, GridLayout.
- Applet Programming:
Applets run in browser, unlike applications.
Life Cycle: init(), start(), paint(), stop(), destroy().
- String Handling:
Operations: construction, length, comparison, modification, StringBuffer usage.
UNIT-4: Exception Handling, Threads & Advanced Concepts [11 Hours]
- Exception Handling:
Checked vs Unchecked exceptions.
try-catch-finally, throw, throws.
- Multithreading:
Java supports multithreading to perform multiple tasks.
Thread life cycle: New, Runnable, Running, Waiting, Terminated.
Creating threads: by extending Thread or implementing Runnable.
Synchronization prevents thread interference.
- Advanced Topics:
- Collections: List, Set, Map in java.util
- JavaBeans: Reusable software components for Java.
- Security Manager: Controls access to resources.
- Generics: Enable classes, interfaces and methods to operate on objects of various types.