Exploring the basics of Java programming language

  • Java is a programming language that allows programmers to write computer instructions using English-based commands. The language is known as a high-level language because it is readable by humans first, then get translated later into numeric codes for machine understanding.

    The designing of the first version of Java started in 1991 by James Gosling and his team at Sun Microsystems –  a company which later on get acquired by Oracle. Gosling and his team created the technology for programming home appliances that would be controlled by a variety of computer processors. Then, in 1994, Java got connected to the Internet after Gosling realized that the language would be ideal for use in web development, mobile devices and so on. From then onward, as they say, the rest is history, Java has gone up to become one of the leading programming languages in the world.

    As one of the most popular programming languages in the world, Java has become a force to be reckoned with. Whether you want to be a back-end-web developer, a desktop developer, mobile applications developer, you name it, Java is undoubtedly a language you should experiment with. Therefore, because of its importance in programming ecosystem today, I would like to explore its core concepts that an aspiring Java programmer should know.

    So, as a beginner programmer, how do you start? Just learn anything that comes your way, or is there a particular way to approach the journey? Well, in almost everything you do in this world, there may be a better way to approach it if you pay attention and are willing to put in the effort to learn and unlearn. Going by this, I can say, Java is not an exception.

    To be a good java programmer, you should, first of all, know that you need more than just java programming language. There are a lot of other tools that you need to master or at least be familiar with to be able to have programs under your belt.

    Also, you can read more about the tools you need other than the Java programming language in order to become a java developer.

    Now that we have known the background of Java and how important it is, let us see the best way one could learn the language. According to so many experts in this field, it’s very important to learn and understand what the core Java concepts are, why and how they are being used and when to implement them in a program before actually jumping into other things. Then after this, practice as much as possible – that’s the only way one can master Java or anything else for that matter. Let’s see the core java concepts, shall we?

    The core java concepts

    Programming languages are categorized based on many approaches; procedural and object-oriented programming (OOP) are some of the most prominent of them. Java is a language that follows object-orientated programming, otherwise known as OOPs. In Oops approach, programs are seen or viewed as a collection of objects rather than procedures.

    The introductory part of Java

    Before diving into OOPs, first thing first, the moments you can write and print your first line of code, usually “Hello world”, next is to understand how variables work. Then, you must understand the relationship between the variables and the data types, the identifiers, the keywords, the literals and so on. Usually, these concepts are the introductory part of any programming language.

    Other important java concepts to learn includes data structure and algorithms like arrays, ArrayList, LinkedList, Maps, and so on. To know more about them, check this.

    How to print the first code: The “Hello world.”

    The output is: Hello world

    The variables and the data types

    As mentioned above, variables are one of the basic things that one should know as one gets introduced to Java. They are just like containers that hold data or information. Those containers are set based on the data type (kind of information) a programmer intends to put in there. For example, a variable that will store a bunch of text goes with ‘string’ data type. But for a whole number, you need ‘integer’ data type. Numbers that have decimal points go with ‘double’ data type. Likewise, a variable that can only take true and false statements uses ‘Boolean’ data type. Those are just a few of the data types that we have in Java. You can read more about them here.

    Below is an example of how variables and data types are used.

    In the above, we have seen how variables (name, age, height and isGood) and data types (string, int, double and boolean) are being used in real code.

    The Java OOPs


    The main idea behind OOPS is the concept of class. A class is like a blueprint of program functionality. The information found and the method that will be used in a program are all defined in a class. Remember, a class is not the actual program – it’s just a blueprint where programs are being defined. The program will be implemented using what is called an object. For example, we can have just a single blueprint (class) for employees so that we can define the attributes and behaviours of an average employee in a company; then subsequently, every employee will have his/her object with different values or information that are unique to this employee in question.   

    Check out the example below:

    In the above example, we created a class called employees with some fields or variables that every employee will have, but every employee is going to have his or her unique name, ID and perhaps different salary. To represent their uniqueness, an object must be created. Talking about an object, that brings us to our next concept in OOPs.


    As discussed above, an object is directly related to a class. You cannot have an object without a class because an object is an instance of a class. Going by our previous example in the class section, we mentioned that we have a class called employees as a blueprint that was set up for employees of a company. Now, in order to use this blueprint, you must create what we called an object. The number of objects could be as many as you need, let’s say in that company, you have several employees and each of them has a portfolio, example, there is a manager, a supervisor, a cashier and so on. So, here, you can have an object for each of them using the class blueprint that we created. Though they are all employees who have similar properties, there’s specific role each plays independently of another.

    Here is an example below:

    Output1: Ali's salary is 1500

    Output2: Aisha's salary is 2100

    Above, we created two objects from the employees’ class. Although both used the same properties from the employees’ class, they all have unique values that are independent of the others.


    Encapsulation is a technique used in OOP programming languages to bind object methods and variables together in order to make programs simpler and more organized. By doing this, data such as variables, methods or objects can be hidden from other classes so that the only way to access them is through a special method in their class called, method getters and setters. In essence, encapsulation is used in order to prevent easy access to data. To achieve this, data access modifiers are set as private in their class. Check out for more information about encapsulation in Java.

    See the example of encapsulation below:


    In the above case, we have three variables that are set as private (name, id and salary). Because they are set as private, these variables cannot be accessed by any class other than their present class. To access the “salary” variable, we created special methods called, “getSalary” and “setSalary”. This way we can access “salary” variable. In order to access the remaining variables; therefore, we can as well follow the same procedure as in the case of the “salary”.

    Related article: Understanding the concept of Computer-Aided Design (CAD)


    Inheritance, also, is a term used in OOPs that does literarily what the word “inheritance” means. It allows a class to inherit another class together with its fields. When a class inherits another class, it will get all the class’s methods and variables. In inheritance, there is what is called parent-child relationship or an is-A relationship where the main class act like a parent and any subsequent class that inherit it, will be a child class.

    The parent class can also be called main class while the child class is also called sub class. When inheriting a class, a child class must use the Java keyword “extends” before the class name.

    Very important to note: Inheritance reduces redundancy in code, thereby making code lesser, cleaner and easier to comprehend.

    See the example of inheritance below:

    In the above instance, we have two classes; one parent, “Employees” and the other a child, “Manager”. The child inherited all the fields of its parent once “extends” keyword is used


    This is a technique in OOPs whereby a class is created with an abstract method. Abstract methods are methods that have no implementation in them; they are empty methods that can not be called in another class or classes but can only be inherited from parent class. When you have an abstract method in a class, that class must be declared abstract using the java keyword “abstract” as well.

    When a class is declared abstract, it means that the class cannot be instantiated. That is, an object cannot be created from the class because an abstract class is not a complete class in its self. Therefore, to use the abstract class, other class (s) must “extend” it, so that the abstract method can be overridden, and implementation will be applied to this new method (the overridden method).

    The main reasons why we have abstraction is to hide away unnecessary details. Only relevant details or mechanisms will be disclosed to users. Example, inside a car, a driver can only see the steering wheel, the pedals and few other things to be able to drive, but the internal complexities that allow the car to start and work are hidden away from the exterior. For details on this, check out this video.

    Check out the abstraction example below:


    Polymorphism is a word that is derived from two words; poly, which means ‘many’, and morph, which means ‘form’. In OOPs, the term refers to the ability of a single name to be used in several methods, either in the same class or in the inherited class. We have two main types of polymorphisms in java; method overriding, otherwise known as runtime polymorphism and method overloading, also known as compile time polymorphism.

    Method overriding allows you to have the same name in the methods in main and subs classes but with different implementations. Which method gets called, depends upon the object type and that is determined during runtime. Here, the name, data type and parameters are the same.

    While on the other hand, method overloading has the same name but different data type or parameters. Read more on this here.

    Below is an example of polymorphism: Method overriding:

    Example of method overloading below:


    In the examples above, we have seen how method overriding and method overloading are being used in practice. In the overriding case, we have three methods called “methodOverriding” in three different classes; one parent and two inherited. All of them will work based upon the object that is called.

    While on the other hand, in the case of method overloading, we have three methods called “methodOveloading” in a single class. The one to be implemented depends upon the number of parameters involved.

    To conclude

    That’s all about the core Java concepts that every Java programmer should be comfortable with. Hopefully, any beginner programmer or a person that wants to get into the world of programming especially java programming will find this article as a sort of guide that will help them through their journey.

    And lastly, if you find any important java concept that you feel like should have been included here, please let me know in the comment section below.

No Stickers to Show


Recent Articles

  • Data structure and algorithm: An introduction to ArrayList and LinkedList

    Posted Aug 31

    When we talk about data structure and algorithm in programming, we are simply talking about how programs are being written by programmers on how devices’ data supposed to behave in different circumstances. Those data could either be input gotten from the users or ...

  • A basket of nerves: My story at a writers’ workshop

    Posted Aug 30

    Have you ever felt like if you step into a room full of people you will fall flat on your face by mysteriously tripping on your own flat shoes and the whole room will laugh at you? That’s what social anxiety feels like. It feels like you will fall every time you t...

  • Nostalgia, flaw and fear: Recognizing red flags in a relationship

    Posted Jul 30

    Jenny met Hassan at a party, they clicked instantly, and before they knew it, their friendship blossomed into something else. After much persuasion from Hassan, Jenny finally agreed to move in with him. Everything was all roses and rainbows until it started; Hassan didn...

  • Domestic violence: Why the victims stay

    Posted Jul 29

    To what can we liken domestic violence? An insidious virus or a fast-acting poison? Either way, domestic violence has far-reaching, and often, fatal effects. This is why society always condemns it and also why we ask the obvious question every time, “Why does she...

View All

Random Articles

  • Top eight MOOC platforms to update your knowledge and skills

    Posted June 15, 2017

    The excuses—financial limitations, time constraints, convenience, etc. —one can give for not updating and upgrading one’s knowledge and skills are vastly fading off with the emergence of online learning platforms popularly referred to as  Massive ...

  • Eight steps to enhance your productivity at work

    Posted September 8, 2018

    Time is a god. It makes the man who makes good use of it; it mars the one who does nothing with it. No one can beat time; we only work around it. The question is: how do we work around the time effectively? How do we ensure we do more in less time? How do we boost our p...

  • Should dress code be enforced on Nigerian campuses?

    Posted October 24, 2016

    Dress Code by definition is a set of rules specifying the correct manner of dress while on the premises of an institution or specifying what manner of dress is prohibited.  It is a written, and more often, unwritten rules with regard to clothing. Over the past few ...

  • A brief review of Against the Run of Play: How an incumbent president was defeated in Nigeria by Olusegun Adeniyi

    Posted October 17, 2017

    Author: Olusegun Adeniyi Publisher: Kachifo limited Category: Non-fiction Publication Year: 2017 Pages: 221 Against the Run of Play is a page-turner political exposé. It reveals, in print, detailed happenings in the Nigerian political scene during the regime...

View All