Affiliate links on Android Authority may earn us a commission.Learn more.

How to use classes in Java

June 01, 2025

One of the features that make Java so powerful, is its object-oriented structure. This means that Java uses classes and objects to create more scalable, modular, and organized code. This can be a complex concept to wrap your head around as a new developer, though. So in this post, we’re going to examine how to use classes in Java.

Also read:Java beginner course – A free and comprehensive guide to the basics of Java

Classes in Java

What are classes in Java?

If you’re not familiar with the concept of object-oriented programming, this is the best place to start. If you already know what a class is and just want to learn Java syntax, you can skip this section.

Also read:What is object-oriented programming?

How to reverse a string in Python

So, what is a class? A class is a piece of code that builds an object. An object is a conceptual “thing” that exists purely in terms of the data that describes it. Objects have properties (called variables) and they have functions (called methods). This is just the same as an object in the real world: a dog, for example, has properties (brown fur, four legs, 30cm tall) and functions (bark, sleep, rollover, poop).

The only difference between an object in the real world and an object in code is that the code object does need a physical body.

Goomba

For example, a bad guy in a computer game might well be an object. This bad guy has variables (movement speed, health, sprites) and it has methods (shoot, move left, move right, explode). That bad guy “exists” in the code whether or not we can see it on the screen. Thus it is a data object.

Instances of objects

The class is the piece of code that creates the data object. Our “BadGuy” class, therefore, is used to build bad guys. But this is the next important distinction to make: the BadGuy code doesn’t control asinglebad guy. Rather, it tells the computer to allocate data that willrepresenta bad guy. And we can run that code multiple times to create multiple bad guys.

So in Super Mario, it’s unlikely that there would be a separate piece of code for every single Goomba in the game. Instead, there is probablyoneGoombaclassthat can create as many Goombas as are needed at any given time. This makes the code more efficient.

The metaphor that is often used here, is to say that classes in Java are the “blueprints” whereas the objects are single examples of that product.

And we call each individual product created by a given class aninstanceof that object.

So with all that in mind, how do you go about using classes in Java?

Here is a very simple “BadGuy” class that assigns values to variables like “health” and gives it the ability to shoot at us:

Now we can call upon our BadGuy class from within our “Main” code (which is a class in itself) simply by saying:

So, what’s going on here? First, we create our class by writing “class” followed by the name of our class. In Java, it is considered best practice to camel case when choosing class names with the first word capitalized. Camel case simply means that you remove all spaces and use capitalization for each word instead. Hence: “BadGuy”, not “Bad_Guy” or “badguy.” This is optional but it contributes to readable code, especially if anyone else is going to be working on it.

We then create global static variables, followed by a public static method called “shoot” that will draw “Pew pew!” onto the screen.

The word “public” means that a method can be accessed from outside of a class. That means we can call that method from our Main class but we need to tell Java where to look. That’s why we say “BadGuy.shoot();”.

Notice that a lot of the statements in Java use periods in this way too (like System.out.println). This is because classes in Java are absolutely fundamental to the way it works. Many of the statements you use regularly are actually methods belonging to built-in classes!

Creating instances of objects

The reason we use the keyword “static” when referring to variables and methods, is because we want don’t want to tie our class to any specificinstanceof the object. Right now, our BadGuy class can’t make multiple bad guys each with different values for their health and speed.

To change this, we need to remove the static keyword, and we need to build one or more instances of the object:

This code builds two instances of the BadGuy and can thus can show us health for each of them. We can then affect the health of justoneof our bad guys like so:

Notice that the “getHit” method doesn’t include the keyword “static.” That means the method will act on theinstanceof the object so that only a particular bad guy’s health will be affected. We cannot, therefore, say:BadGuy.getHit();without first building a new object.

Hopefully, this is now all starting to make sense and you can see how we might use classes in Java to create lots of instances of the same “object” that can all run around at once!

How to use constructors in Java

The last thing you need to learn about using classes in Java, is the role of the constructor.

A constructor is a special type of method in a class that is used to “build” that class by defining its values as soon as it is created. You might want this, for example, to create multiple bad guys each with different amounts of strength to start with. Alternatively, if you were building a client database, you might use this to build new entries where each one had a different name, phone number, etc.

The constructor method should have the same name as the class. We then need to pass arguments (variables) that we can use to define the values we want to set during initialization. We then need to verify we add those variables in the brackets when we create new instances of the objects.

The final code looks like this:

Don’t know what arguments are? Then make sure to readour guide to calling methods in Java.

Closing comments

So, that’s everything you need to know about using classes in Java! That’s a high-level concept you’ve gotten to grips with, so pat yourself on the back! If you feel comfortable with classes and objects, then chances are you’re ready to take your learning further. Checkout list of the best places to learn Javato gain a full Java education at heavily discounted rates!

Thank you for being part of our community. Read ourComment Policybefore posting.