Mastering Java Object Oriented Programming
3.3 (7 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.
58 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering Java Object Oriented Programming to your Wishlist.

Add to Wishlist

Mastering Java Object Oriented Programming

A complete and easy guide to Java Object Oriented Programming.
3.3 (7 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.
58 students enrolled
Created by Sera Nguyen
Last updated 12/2014
English
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 2 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand core concepts of Object Oriented Programming
  • Apply Object Oriented Programming concepts in Java
  • Build a complete and working application using Object Oriented Programming techniques
View Curriculum
Requirements
  • Students who take this course should already have some basic Java skills.
  • All the course source code are created in Netbeans IDE 8 running on Java 8. However, students can use any IDE they are familiar with because the source code is IDE-independent.
  • Netbeans and Java 8 can be freely downloaded
Description

Java is an Object Oriented Programming (OOP) language. Mastering OOP concepts and know how to apply those concepts into programming is trivial skills if you want to be a Java professional.

In this course you will not only learn all the core OOP concepts, but you will also learn how and when to transfer those concepts into Java language.

Also, I will use real life examples with images to demonstrate and elaborate on those concepts so that you can get the best understanding of OOP model.

Not only OOP concepts will be demonstrated fully in this course, you will also learning many other useful techniques such as static members, inner class, anonymous class, final modifiers, and effectively final.

I will also show you some new features in Java 8 including static and default methods in interface, and the omitting of the final keyword with the effectively final variable.

Also, I will show you with example of one of the most important principles in OOP: the open_closed principle so that you can see the power of OOP paradigm.

And most importantly, I will walk you through step by step in building a complete and working application called Book Management System. The application includes common features such as add a new book, update a book based on its ISBN, remove a book based on its ISBN, and list all the book information.

How to get the most benefits of the course?

To get the most benefits of the course, before starting the first lecture, I would recommend you to take the 50 question quiz first. Don't worry if you never learned Object Oriented Programming before or you just have a little bit skills. Just do the quiz, if you don't know, just guess.

After finishing the quiz, don't worry about the results then, just take all lectures one by one to learn all the fundamentals as well as advanced techniques.

After completing all the lectures, take the quiz again to see if you make a progress. Each question in the quiz also has explanation for answers, and I would highly recommend you to read these explanations to revise what you have learned.

Who is the target audience?
  • Students who want to understand clearly Object Oriented Programming Concepts
  • Students who want to sharpen their OOP Skills
  • Students who want to be better in Object Oriented Programming in Java
  • Students who has some basic Java skills and want to advance their skills to be Java Professionals
Students Who Viewed This Course Also Viewed
Curriculum For This Course
24 Lectures
02:09:16
+
Quiz For Testing Your OOP Skills
0 Lectures 00:00

Test your OOP skills with 50 questions including answer explanations

Quiz For Testing Your OOP Skills
50 questions
+
OOP Introduction
4 Lectures 12:12

This lecture shows you general concepts about Objects and Classes, and how they are related to each other.

Preview 05:16

In this lecture, I will use real life examples to demonstrate the inheritance concepts and what it is used for in OOP.

Preview 01:53

At the end of this lecture, you will be able to:

  • Understand the Abstraction and Encapsulation concepts and how they are related in OOP world
  • Understand the concept of Interface and why it is used in OOP applications
Preview 02:57

One of the core concepts in OOP: polymorphism. This is also one of the ones that causes confused to beginners. I will use real life examples to explain this concepts.

Preview 02:06
+
OOP Implementation
16 Lectures 01:38:19

Using class and objects are basic skills in order to work with any OOP languages. In this lecture, you will learn:

  • How to implement class in Java?
  • How to create objects from a class?
  • What is constructor and how it is used along with object creation process?
  • What and how is the this keyword used for?
Implement Class, Object, Constructor, The this keyword
09:33

Java source code files are organized into packages. Package is also related to other concepts that we will come across in other topics in this course. This lecture will show you how to create packages in Java and how to use classes that are in different packages with the import statement.

Organize Classes into Packages
03:20

One of the fundamental concepts in OOP model is Inheritance. It is allowed code re-using. In this lecture, you will learn:

  • How to implement inheritance in Java using the extends keyword?
  • How inheritance implementation affects the object creation process?
Implement Inheritance
07:28

This lecture will discuss:

What is method overriding and how it is used in Java?

What is method overloading and how it is used in Java class?

When to use method overriding and method overloading as well as the differences between the 2 techniques?

Implement Method Overloading, Method Overriding
06:09

At the end of this lecture, you will be able to apply access modifiers to implement the Encapsulation concept. The four access modifiers will be discussed in this lectures include: public, protected, default, and private.

Implement Encapsulation with Access Modifiers
06:11

This lecture is a continuation of the Lecture 9. In this lecture, you will learn how to apply access modifiers into encapsulation implementation with getter and setter methods. You will also learns a tip in Netbeans that can be used to quickly generate getter and setter methods.

Implement Encapsulation with Getters and Setters
05:42

There are many ways to implement the polymorphism concept in Java. This lectures will show you how to use abstract class and how to achieve polymorphism using abstract class.

Implement Polymorphism with Abstract Class
06:39

In the last lecture, you learned how to implement polymorphism using abstract class. This lecture will show you how to achieve polymorphism concept using interface. Also, you will learn how interface can inherit from other interfaces so that it can reduce the number of interfaces a class can implement.

Implement Polymorphism with Interface
07:48

Prior to Java 8, it is not allowed to have implementation methods in an interface. However, Java 8 now supports new features, in which it allows have implementation methods in interface: static and default methods.

This helps to add more methods to the interface without breaking the code in the implementing classes.

New in Java 8: static and default methods in Interface
03:10

In this lecture, I will show the Open_Closed principle with examples. The principle can be used as a guide that helps developers to design OOP applications that are easy to extend, upgrade, and maintain.

Implement Open - Closed Principle
06:48

To understand the differences between abstract class and interface, I will use an example of when to use abstract class and when to use interface. Those concepts usually confuse beginners

Compare Abstract Class Vs. Interface
07:21

At the end of this lecture, you will be able to:

  • understand what are instance variables and what are reference variables.
  • understand what are static members, including variables and methods, and how they are different from instance variables.
  • understand different kinds of memory locations that are used to store instance and static variables
Implement Static and Instance Members
06:34

I will introduce the final modifier and how it is applied on variables, methods, and classes. I'll also introduce the Math class in this lecture.

Implement Final Modifier
04:28

In this lecture, we will discuss:

  • what are inner classes and how to use them?
  • what are local inner classes and what should be noticed when a local inner class assesses a local variable?
  • a new feature in Java 8: effectively final variables
Implement Inner class, effectively final in Java 8
07:14

This lecture will discuss of how to implement abstract methods in an interface or an abstract class using Anonymous class, which is a kind of local inner classes we have discussed in the last lecture.

Implement Anonymous Class
03:16

In will introduce the 2 most commonly used methods in the Object class:

  • equals() method that can be used to compare 2 objects
  • toString() method that can be used to return a string representing for an object
Implement Object as Supper Class
06:38
+
Implement Book Management System
4 Lectures 18:45

In this lecture, you will:

  • analyze the requirements for our Book Management System
  • extract data and operations from the requirements
  • identity the constraints in our requirements
  • design necessary classes and methods for our application
Requirement Analysis
04:07

I will walk you through step by step in building the BookInterface, Book class, and the Menu class.

Implement BookInterface, Book Class, Menu Class
04:33

We will implement the class BookListWithArray. This class contains all the implementations in our program.

Implement BookListWithArray Class
06:07

This lecture will put everything into business logic to form a complete application.

At the end of this lecture, you should be able to get your application running with full features.

Preview 03:58
About the Instructor
Sera Nguyen
4.5 Average rating
62 Reviews
1,640 Students
7 Courses
Developer, Architect, Professor

Hi, my is Sera Nguyen and I have a big interest in Software Programming. After completing my Computer Science degree, I was employed as Embedded Software Engineer at Renesas Corporation, then Software Architect at CSC Corporation. After more than 6 years in the Software Industry and completing my Master degree, I became a full time University Professor specializing in Software Engineering Faculty. Currently, I am still working full time as Professor and contracting trainer for software companies and doing research for my PhD degree in software architecture design field.