Note:- Some lectures in this course are taken from my previous Java course i.e "Java for Beginners in 2 hours: Build a Banking Application" as those were the exact same concepts.
This course is a total hands-on programming course with no power-point presentations.This course is going to teach you all core Java object-oriented concepts in a short time.Object-oriented programming(OOP) paradigm is based on the concept of objects. So when we develop any application using object-oriented concepts we basically think only in terms of objects. Almost anything can be represented as an object in Java.
This course isgoing to teach you how to think in terms of objects while programming. It is also going to teach you what happens behind-the-scenes when we create an object, how objects are created and stored in memory, object lifecycle etc. Apart from this you are going to understand all other important object-oriented concepts like inheritance, polymorphism, interface, abstract class etc and also understand why they are used.
Every single concept is explained with the help of a program. This course is suitable for anyone who has some basic knowledge of Java like variables, datatypes, loops, if conditions, methods, arrays etc and who has not yet explored the object-oriented side of the Java programming language.
This course also has a mini project at the end which a console-base Quiz Application. This application is designed using object-oriented approach and will be a good revision of the entire course as a lot of concepts will be covered in it.
After completing this course you will have a clear idea about object-oriented programming and you can start writing Java console-based applications using OOP concepts. You may also be able to answer exam questions or interview questions based on object-oriented concepts. This course is short and sweet and requires only 2-3 hours of your time.
Some of the key points regarding this course:
I believe you will enjoy this course and make the most of it. Happy Coding :)
An overview of what all topics will be covered in this course.
This tutorial introduces the reference types and how they differ from regular primitive types.
This lecture is going to teach you the concept of classes and objects in object-oriented programming and how to create and use them in our programs.
Understand where objects are created in memory and how they are stored internally.
Learn about the different variable scopes in Java.
This tutorial explains the concept of 'this' reference variable in Java. The 'this' reference variable plays an important role in binding a method with an object at run-time.
Understand the concept of constructors in Java and the purpose of using them. Also learn how to define and use constructors in our programs.
This lecture is going to teach you the concept of "Constructor Overloading" where we can have multiple constructors of the same class but with different parameters.
This lecture explains how the this() constructor call is used in a class to invoke other constructors of the same class.
This tutorial will teach you the concept of Inheritance in object-oriented programming and the advantage of using it in our programs.
Understand the concept of multilevel inheritance in Java.
This tutorial explains how the super() constructor call is used in a child class to invoke a parent class constructor.
Understand the concept of packages in Java.
Learn the different access modifiers in Java i.e public, private and protected. These access modifiers specify the visibility of a member variable, method, constructor or a class.
Understand the concept of method overloading in Java.
Understand the concept of method overriding in Java.
This tutorial explains the concept of polymorphism which in simple terms means the ability of any entity to take many forms.
Understand the concept of an abstract class and the purpose of using it.
Understand the concept of abstract methods and purpose of using it.
This tutorial will teach you the concept of interface in Java and why it is used.
In Java multiple class inheritance is not supported but what if we want to implement a similar functionality in our programs? This tutorial explains an alternative way of achieving multiple inheritance using interfaces.
Understand the concept of 'static' keyword in Java.
Understand the concept of 'final' keyword in Java and where it can be used.
Understand the concept of reference casting in object-oriented programming.
Write a program to search for a particular object in an object array using an ID.
When a class is written inside another class then it is known as nested class. This tutorial explains the concept of nested classes along with its types (static and non-static).
Understand the concept of an automated process known as garbage collection in Java.
Understand the the concept of reachable and unreachable objects and also learn how the garbage collector treats them.
What if we want to make an object unreachable so that it can be garbage collected?. This tutorial explains the different ways in which we can make an object unreachable.
This tutorial explains how to take input from the user. There are 2 common ways in which we can take input from the user i.e by using Scanner or BufferedReader. We are going to use the Scanner class.
In this tutorial, we write the Question and Answer classes for our Quiz Application.
In this tutorial, we write the Quiz class which is our core class for this Quiz Application. All the main application logic is placed inside this class.
In this tutorial, we write the Result class which is used for displaying the result of the quiz.
In this tutorial, we run the Quiz Application and verify if we get the correct output.
In this tutorial, I conclude the course and give some general tips.
I have around 5 years of programming experience. My area of expertise is Java.
I have completed my Bachelor’s in Computer Science and a Master’s in Computer Applications from a reputed institute.
I am currently working in a leading US-based financial firm as a Java/JSF developer.
Since my college days, I used to help out my friends with a lot of programming concepts and with time I realized that I was actually enjoying teaching. And so I decided to take my teaching passion to the next level and share my knowledge with as many people as possible with this platform.