
Explore object-oriented Java features, including classes and methods, and how Java bytecode enables write-once, run-anywhere portability across Windows, Linux, and Mac. Learn memory management through garbage collection and platform independence.
Explore how the JDK, JRE, and JVM form the platform and runtime environment for Java programs, enabling platform independence through dynamic class loading and the classloader.
Learn how objects are instances of classes, with state, behavior, and identity, and explore how to define them with fields, methods, constructors, and public or private access.
In this session you will learn about classes and objects. It is very important to learn about classes and objects when learning object oriented programming. The wonderful journey to object oriented programming starts here.
In this session you will learn about creating objects from classes
In this session you will learn about constructors. Constructors play an important role in object oriented programming. You will learn about constructor overloading and constructor chaining too.
In this session you will learn about the difference between parameter & arguement
In this session you will learn about methods and method overloading
This session provides a demo of method overloading.
Data Abstraction is explained here
This session explains and demonstrates about Encapsulation
This session explains about the Inheritance. Inheritance is an important aspect of Object Oriented Programming.
This session is dedicated to the demonstration of Inheritance
Explore how inheritance and the instanceof operator work in Java by creating objects of Car, Vehicle, and Toyota and evaluating which objects are instances of which classes.
Explore how static variables are shared by all objects and how static methods belong to the class, enabling class-level access and a static main context.
This session is about abstract classes
Explore Java object oriented concepts with nested inner classes and learn why you cannot instantiate an inner class directly; you must use the class to create an instance.
This Lab session is dedicated to classes, creating objects, setters, getters, toString() and many more. The source code , solution is also provided.
Lab Exercise 2 with solution
Learn how to create and manage threads by extending the thread class, with practical examples and discussion on running and extending thread behavior.
Learn how to create a new thread in Java by using the Runnable interface, exploring two methods—extending Thread vs implementing Runnable—and how to start and run the thread.
Explore Java object-oriented programming by examining getName(), getId(), getPriority(), setPriority(3), getState(), MIN_PRIORITY, and NORM_PRI, with practical examples of main thread behavior.
Pause a thread's execution using sleep for a specific time, allowing other threads to run; sleep times are in milliseconds or nanoseconds and are not guaranteed, can be interrupted.
Practice method synchronization in Java to manage thread execution and data values, explore how threads interact, and examine the next generation of synchronized patterns.
Explore synchronized block usage alongside synchronized methods in Java to control access to code, lock sections, and coordinate thread execution in examples.
Explore deadlock in a beginner-friendly Java context by illustrating how two threads can hold locks on resources and wait for each other within synchronized blocks, causing a standstill.
Download Eclipse to set up the Java development environment for object oriented programming beginners. Explore installing Eclipse, configuring Java, and starting simple OOP projects.
Explore Java I/O streams, including input and output streams, and learn how sources like files transfer bytes and characters to and from programs.
Learn how Java byte streams manage data with input and output streams, and apply best practices to close streams and prevent resource and memory leaks.
Demonstrates Java byte streams by copying bytes from an input stream to an output stream using a file input stream example. Covers closing streams to ensure resources are released.
Demonstrate character streams using a file reader to copy characters from an input text file to an output file. Learn to close streams and create the output.
Learn to create a directory in Java by passing the directory name as a string and using the code to create the directory and the new file.
Learn how to list the contents of a directory in Java by creating a file object, retrieving file names, and printing them to demonstrate directory listing.
Learn how Java object serialization writes an object to a file by using the Serializable interface and object output stream with a file output stream, and read it back.
Learn how to read a serialized Java object from a file using an object input stream, retrieve the object, and handle its fields and references.
Explore how to serialize a java object by writing to and reading from a file, and use transient fields to exclude data from serialization, with getters and setters.
Explore how Java garbage collection reclaims runtime unused memory from the heap by removing objects with no references or that are unreachable, automatically freeing memory without manual effort.
Explore how Java's garbage collection reclaims memory, invoking the finalize method before collection to perform cleanup, and why you cannot force GC with System.gc() or guarantee its timing.
Explore what an exception is in Java, and learn how to manage errors with try-catch, throw and throws, including checked and runtime exceptions to prevent program termination.
Explore how Java handles exceptions in a loop that triggers an arithmetic exception, showing program termination and how to catch and handle the exception.
Demonstrate try catch in Java for exception handling, showing how exceptions produce messages and why ignoring them makes the program not work.
Explore how multiple catch blocks handle different exceptions in Java, illustrate the exception hierarchy, and demonstrate catching number format exceptions and input errors.
Learn how try blocks and finally blocks handle exceptions in Java through a practical demo, illustrating program flow and error handling.
Learn the basics of generics in Java object-oriented programming, using a type parameter to build a generic class and apply the same logic to any data type, reducing code duplication.
Discover arrays in Java, a collection of variables of the same type stored in contiguous memory, indexed from zero, with declaration, initialization, size or length, and for loop printing.
Learn array operations in Java: insert, search, and delete in an unordered array, with input handling, item counting, and conditional deletion explained through practical examples.
Discover how to work with the ArrayList in Java by creating, adding, inserting at a position, resizing, and removing elements, and by inspecting the list contents.
Explore how a vector class manages growth and resizing to support adding and removing elements, while ensuring thread safety and safe access by index through example demonstrations.
Master calculating factorials in Java by implementing recursion, a core concept in object oriented programming for absolute beginners.
Learn how to split a string in Java with the split() method through a practical demonstration.
Learn to find the gcd of two integers in Java using object-oriented concepts for absolute beginners. Implement a simple greatest common divisor approach and apply it to beginner-friendly coding tasks.
Explore a string reverse example using recursion in Java, using substring operations and repeated steps to reverse characters and understand the process.
At the end of the Course you will understand the basics of Object Oriented Programming. You can enhance your core programming skills to reach the advanced level.
By the end of these videos, you will get the understanding of following areas the
Object Oriented Programming - Classes & Objects,Creating Objects from Classes,Constructors, Methods (parameter vs argument), Method Overloading, Data Abstraction,Encapsulation,Inheritance,Abstract Classes,Nested Classes
Threads
I/O Streams
Java Garbage Collection
Exception Handling