Project

Contacts (Java)

Challenging
1165 completions
~ 42 hours
4.0

Here is something you probably use regularly: contacts. In this project, you will write a program to create contacts (like on a mobile phone) and search for people or organizations by name.

Provided by

JetBrains Academy JetBrains Academy

About

You will learn the essential basics of object-oriented programming: encapsulation, inheritance, and polymorphism. Inheritance will allow you to write code that can perform the same process but for different objects. Polymorphism helps to initiate different processes for different objects by using the same method. You’ll also learn to prevent other users of your code from modifying the variables using encapsulation.

Graduate project icon

Graduate project

This project covers the core topics of the Java Developer course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Using classes, create your first contact with a name, last name and phone number.
Working with encapsulation and regular expressions, create a menu that will allow to add and edit contacts.
With the help of inheritance mechanism, add the ability to specify details in your contacts (for example, gender) and to create contacts and addresses of organizations.
Get familiar with polymorphism and built-in functions: fix your code and make it possible to search for contacts.

Reviews

Zakaria Farih avatar
Zakaria Farih
2 months ago
Good project, not a lot of hand holding, i just dont like when you are given ideas on how to implement it, instead i think this could be implemented in the hint section / or with an option to view ! requirements should be well aligned instead of having to get to know them from the console output !
Leonid Bluvshtein
3 months ago
This project serves as an excellent final practical assignment, as it brings together many of the concepts covered in the theoretical course. At each new stage, the application's initially simple and limited functionality is expanded consistently and logically. I highly recommend it to anyone who wa ...
Doğan Can Karataş avatar
Doğan Can Karataş
3 months ago
I have mostly used; oop polymorphism concept and json serialization with jackson.

4.0

Learners who completed this project within the Java Developer course rated it as follows:
Usefulness
4.4
Fun
4.0
Clarity
3.7