CodeGym
Promotion
CodeGym University
Learning
Course
Tasks
Surveys & Quizzes
Games
Help
Schedule
Community
Users
Forum
Chat
Articles
Success stories
Activity
Reviews
Subscriptions
Light theme

Lessons

  • Reviews
  • About us
Start
Start learning
Start learning now
  • Quest map
  • Lessons
  • You've reached Level 12!

    Java Core
    Level 2, Lesson 0
    Congratulations, you've completed the first level of the second quest! You learned about OOP and its four main pillars, and you played around with inheritance and encapsulation. And in the second level, you're working on understanding polymorphism, overloading, abstraction, and interfaces.
    Available
  • Polymorphism and overriding

    Java Core
    Level 2, Lesson 1
    Upon completing this lesson, knowing what polymorphism is, you'll be able to settle parent-child problems, because you'll know what needs to be done if a child wants to use one of his forefathers' methods. In other words, you won't be confused by a whale with cow ancestry that can swim but lacks horns and a bell. You'll even be able to code one up.
    Available
  • Polymorphism Tasks

    Java Core
    Level 2, Lesson 2
    To prevent barking by cats that have descended from a dog, you'll have to master polymorphism in practice! Diego won't let you get bored: it's time to complete tasks about whales, cows, dogs, and other Terran creatures. But mainly about cats, of course
    Available
  • Overloading Methods

    Java Core
    Level 2, Lesson 3
    All methods inside a class must have unique names. More specifically, the combination of a method's name and its set of parameter types must be unique. Imagine you need to write an Add() method to sum up two numbers. But you still aren't certain whether the numbers are ints or doubles. The smart thing to do is to overload the Add method. Rishi will explain everything else.
    Available
  • Practice overloading methods

    Java Core
    Level 2, Lesson 4
    Just when you've learned a new topic, here comes Diego! But this can't help but please you. If you don't start working on tasks right away, you'll forget all these subtleties of method overloading before everything fully sinks in. So, carry on! Bang out five programs and send them to your mentor for review.
    Available
  • Abstract Classes

    Java Core
    Level 2, Lesson 5
    You often need to define something unspecific and basic. For example, a "car". It will have an engine and vehicle body. This isn't a car. It's only an abstraction—a class that we made for convenience. But you could use it to whip up a Ferrari or a Geo Metro. This lesson has the details. They are interesting.
    Available
  • Practice with abstract classes | Level 2

    Java Core
    Level 2, Lesson 6
    A programmer's life and work are dangerous and full of abstractions. Abstract thoughts, abstract neighbors, abstract animals, and abstract girls. But we won't get into that last topic. Instead, let's do some more tasks involving abstract animals and their specific descendants with overloaded methods.
    Available
  • Interfaces

    Java Core
    Level 2, Lesson 7
    An interface is the legitimate child of Abstraction and Polymorphism. The interface is very much like an abstract class where all the methods are abstract. It is declared the same way as a class, but with the keyword interface. This lesson will teach you why we need them, and how and when to use them.
    Available
  • An interface is more than an interface. It's a behavior.

    Java Core
    Level 2, Lesson 8
    Imagine that you're a robotic builder. You have dozens of subordinate robots and each of them can have multiple skills. Suppose you need to urgently finish building a wall. You gather together all the robots that have the "builder" ability, and you tell them to build the wall. You don't care about the type of the robot. Even robotic watering cans are okay. If it knows how to build, let it build.
    Available
  • Interface tasks

    Java Core
    Level 2, Lesson 9
    From the secret CodeGym center, Diego the Robot makes a promise: you'll sleep peacefully, but these peaceful nights must be earned. If you don't do these tasks about interfaces right now, they will come to you in your dreams… In short, it would be better to do them now. You shouldn't pick a fight with abstractions.
    Available
  • Useful links from the Professor — 12

    Java Core
    Level 2, Lesson 10
    You've probably already guessed that Professor Hans Noodles doesn't give bad advice! This time he's found a link to an excellent lesson about polymorphism and interfaces. It will help you add some structure to your knowledge, if you want to. Think you already know everything? Read this lesson and you'll understand how very wrong you are.
    Available
  • Morse code

    Java Core
    Level 2, Lesson 11
    Did you know that sometimes resting is good for you? Relax, kick back your chair, and watch an interesting video about a high-tech electric car. This isn't just entertainment. It's an important part of the comprehensive curriculum developed by the pedagogical board at the secret CodeGym center.
    Available
  • 1
  • 2
Learn
  • Registration
  • Java Course
  • Help with Tasks
  • Pricing
  • Game Projects
  • Java Syntax
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success Stories
  • Activity
  • Affiliate Program
Company
  • About us
  • Contacts
  • Reviews
  • Press Room
  • CodeGym for EDU
  • FAQ
  • Support
CodeGym CodeGym is an online course for learning Java programming from scratch. This course is a perfect way to master Java for beginners. It contains 1200+ tasks with instant verification and an essential scope of Java fundamentals theory. To help you succeed in education, we’ve implemented a set of motivational features: quizzes, coding projects, content about efficient learning, and a Java developer’s career.
Follow us
Interface language
Programmers Are Made, Not Born © 2023 CodeGym
MastercardVisa
Programmers Are Made, Not Born © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.