Buying for a Team? Gift This Course
Wishlisted Wishlist

Please confirm that you want to add Learn Java Step by Step and become an Expert to your Wishlist.

Add to Wishlist

Learn Java Step by Step and become an Expert

The one-stop place to learn, understand the Java Programming Language from the basics and become an Expert.
3.8 (93 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
11,367 students enrolled
Last updated 3/2016
$10 $20 50% off
1 day left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
Learn, Develop and Execute Java Programs in a step by step approach and easily master the language.
View Curriculum
  • Basic computer knowledge knowing how to install various softwares and understanding of basic programming concepts.

In this course, You will learn how to develop and execute Java Programs in a step by step approach with clear & precise examples and you can easily master the Java programming language.

Any Programming Language can be easily learned if the concepts are taught with proper examples. This course is created with that view and I hope, with this approach, you will succeed.

This Java course is meant for newbie’s who have want to learn and understand the Java programming language. This course is also designed in such a way that even experienced developers can learn new stuffs and also will be a good course for refresh their knowledge.

In this course, you will

1) Learn to set up the development environment to develop and execute Java Programs.
2) Understand the concepts of object oriented programming.
3) Understand Java Packages and Access Specifiers.
4) Learn the various Object Oriented Programming Concepts step by step with clear & precise examples.

Who is the target audience?
  • This Java course is meant for newbies who have want to learn and understand the java programming language .
  • This course is designed in such a way that even experienced developers can learn new stuffs and will be a good refresher course.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 21 Lectures Collapse All 21 Lectures 02:38:10
Course Introduction
1 Lecture 01:49

In this lecture, we will go over the objective and details of the course & how it is structured.

Preview 01:49
Setting up the Environment
3 Lectures 18:30

In this lecture, we will understand how to download the JDK and install it. Also, we will work on setting the required environment variables.

Preview 09:47

In this lecture, we will download Eclipse IDE and extract it. Also, we will open the Eclipse IDE and ensure that it is pointing to the JDK that we installed.

Downloading and Extracting Eclipse IDE

In this lecture, we will develop and execute the first program in Eclipse IDE.

Developing and executing the first Java Program
Class & Objects
3 Lectures 25:46

Object Oriented Programming is Real World Programming where we mimic the real world interaction in a computer system.

What is Object Oriented Programming?

What is a Class?

  • It is a template or blueprint of what it contains (State & Behaviour).
  • Logical Entity.

What is an Object?

  • Object is an instance of a Class (When you give life to a Class).
  • Physical Entity (Memory is allocated once you create an Object).
What is a Class, Object & How to create one?

In this lecture, we will understand what happens when an object is created. Also, we will discuss on the scenario where more than one object reference point to the same object.

Understanding Object References and Objects better
Packages & Access Specifiers
3 Lectures 25:02


A Package is a namespace that organizes a set of related classes and interfaces.

Advantages of using package:-

  1. Java package is used to categorize the classes and interfaces so that they can be easily maintained.
  2. Java package provides access protection.
  3. Java package removes naming collision.

Access Specifiers (Controlling Access):-

Access Specifiers determine whether other classes can use a particular class, particular field or invoke a particular method.

At a class level, we have two access specifiers:-

  1. Default - access the class only within the package
  2. Public - access the class not only within the package but outside the package as well (anywhere).

At a data member and method level, we have the following access specifiers:-

  • Private - access only within the class only.
  • Default - access only within the package.
  • Protected - (We will discuss later)
  • Public - access anywhere (both inside and outside)
Access Specifiers

Encapsulation in Java is a mechanism of wrapping the data (variables) and code acting on the data (methods) together as as single unit.

In encapsulation the variables of a class will be hidden from other classes, and can be accessed only through the methods of their current class, therefore it is also known as data hiding.

To achieve encapsulation in Java:-

  1. Declare the variables of a class as private.
  2. Provide public setter and getter methods to modify and view the variables values.
OOPS Part 1:- Constructors, Method Overloading, This reference
3 Lectures 27:32

Constructor is a special type of method that is used to initialize the object and is automatically invoked when the object is created.

Constructor name must be same as its class name & Constructor must have no explicit return type.

There are two types of constructors namely:

  • Default constructor (no-arg constructor)
  • Parameterized constructor
What is Constructor?

Method Overloading

If a class have multiple methods by same name but with different signatures, it is known as Method Overloading.

What does signature mean?

  • Number of arguments
  • Data type of arguments
  • Order of the arguments

It does not consider the return type

Method overloading increases the readability of the program.

What is Method Overloading?

This Reference
OOPS Part 2:- Relationships
7 Lectures 48:58

Relationships between classes

There are two types of relationships between classes:-

1) Is a relationship (Inheritance)

2) Has a relationship (Aggregation)

Class Employee{


Class FullTimeEmployee extends Employee{


Class PartTimeEmployee extends Employee{


Inheritance (IS A relationship)

Inheritance (Is a relationship) continued...

Protected Access Specifier

Inheritance - Order of Constructor Execution

Aggregation (Has a relationship / Contains)

class Engine{


class Tyre{


class Car{

Engine engine;

Tyre[] tyre;


Aggregation (HAS A relationship)

Use of Super Keyword in Java

Method Overriding
OOPS Part 3:- Static, Interfaces, Abstract Classes
1 Lecture 10:33
The static keyword to create fields and methods that belong to the class, rather than to an instance of the class.
Static Data Members and Methods
About the Instructor
3.8 Average rating
92 Reviews
11,367 Students
1 Course
Solution Architect and Passionate Trainer

I am Navaneetha Nataraj. I have been working in IT for the last ten years and have expertise in developing applications using Java, J2EE and Oracle technologies. I have worked for big tech companies namely Intel, SAP & Oracle and also build large scale applications for clients like Qualcomm and Emerson. I am passionate about learning new technologies and also teach people how to learn it in the better and easier way.

In my spare time, I provide 1 to 1 trainings through Webex and spend lot of my time surfing the internet - learning and understanding new technologies.

Report Abuse