Unveiling the Mystery: What Does the Java Constructor Return? Code Examples Included

Table of content

  1. Introduction
  2. What is a Constructor?
  3. Default Constructor
  4. Parameterized Constructor
  5. What Does a Constructor Return?
  6. Code Example: Return Type void
  7. Code Example: Return Type int
  8. Code Example: Return Type Object
  9. Conclusion


Are you tired of constantly striving to do more, only to feel burnt out and unfulfilled? What if I told you that doing less may actually make you more productive? It's a contrarian notion, but one that has been echoed by some of the world's most successful individuals.

As the great Steve Jobs once said, "People think focus means saying yes to the thing you've got to focus on. But that's not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I'm actually as proud of the things we haven't done as the things I have done. Innovation is saying no to 1,000 things."

In this article, we'll explore the concept of doing less to achieve more. We'll discuss the misconceptions around productivity, and why saying no to certain tasks can actually be a more effective approach. So get ready to challenge your current mindset on productivity, and consider embracing a new way of thinking about how to maximize your potential.

What is a Constructor?

You might think that the answer to this question is pretty straightforward: a constructor is a special method that initializes an object when it is created. But is that all there is to it?

What if I told you that constructors don't actually return anything? That's right, contrary to popular belief, constructors don't have a return type. In fact, if you try to explicitly return a value from a constructor, you'll get a compile-time error.

So why do we even bother with constructors if they don't return anything? Well, as I mentioned earlier, constructors are responsible for initializing the state of an object. This is important because without initialization, an object would have undefined behavior and could lead to unexpected errors or system crashes.

Think of a constructor like a chef who is preparing a dish for a customer. The chef's job is to gather all the necessary ingredients, combine them in the right proportions, and cook them to perfection. The finished dish is then served to the customer, who can now enjoy a delicious meal knowing that every ingredient was carefully selected and prepared with care.

Similarly, a constructor is responsible for gathering all the necessary data for an object, initializing its state, and returning a fully-formed instance ready for use. It's like a factory that produces perfectly-formed objects, with all the right properties and methods in place.

In summary, a constructor is more than just a method that initializes an object. It's a crucial part of the object's creation process, responsible for ensuring that the object is properly initialized and ready for use. So the next time you create an object in Java, remember that the constructor is doing more than just returning an instance – it's setting it up for a lifetime of successful use!

Default Constructor

Let's start with the basics. The is a special type of constructor that is automatically provided by the Java compiler when no constructor is defined in the class. It has no arguments and its main purpose is to initialize the object's fields with default values.

So here's the million-dollar question: what does the return? Well, the answer might surprise you: nothing! Yes, you read that right. The doesn't return anything.

"But wait," you might ask, "if it doesn't return anything, how does it initialize the fields?" Good point. The trick here is that the doesn't need to return anything because it runs in the background as soon as the object is created.

Think of it as a silent gardener who comes in before you wake up and waters your plants. You don't need to see them do it, but you can see the results when your plants are healthy and thriving.

The lack of a return statement in the is actually a design decision that makes sense if you think about it. Since the constructor doesn't return anything, there's no need to declare a return type. This makes the code simpler and more concise.

In fact, the Java Language Specification explicitly states that "it is a compile-time error if a constructor declaration has a return type (§8.4.4)".

So, there you have it. The returns nothing, and that's perfectly fine. As William Henry Mauldin, the Pulitzer-prize-winning cartoonist, once said: "I'm not lazy. I'm just conserving my potential energy." Maybe we should adopt a similar approach to our programming, and focus on doing less, but doing it better.

Parameterized Constructor

Now let's talk about the in Java. As the name suggests, it is a constructor that takes parameters. You can use a to initialize the values of instance variables at the time of object creation.

The syntax of a is similar to the default constructor, but it takes parameters. For example:

public class Car {
    private String model;
    private int year;

    public Car(String model, int year) {
        this.model = model;
        this.year = year;

In this example, the Car class has a that takes two arguments: the car model and the year it was made. The constructor assigns these values to the instance variables model and year.

One important thing to keep in mind is that when you define a in a class, you must also define a default constructor. If you don't, the compiler will provide one for you.

Overall, s can be a useful tool in Java for initializing instance variables with specific values during object creation. But as with all functionality in coding, it's important to use them judiciously and only when they serve a specific purpose. As Steve Jobs famously said, "It's not about money. It's about the people you have, how you're led, and how much you get it." Don't let unnecessary parameters bog down your code and your productivity. Focus on what truly matters in your programming design.

What Does a Constructor Return?

Have you ever wondered what a Java constructor returns? The answer might surprise you. Nothing! Yes, you read that right. A constructor does not return anything, not even void.

I know this might contradict what you learned in your Java course, where a method that does not return anything is declared as void. However, constructors are not methods, so they do not follow the same rules. In fact, a constructor's purpose is to initialize an object's state, not to return anything.

Some might argue that constructors implicitly return the object being constructed, but that's not technically correct. The object is created and initialized before the constructor finishes its execution. So, in essence, a constructor's return type is the object's class.

As Leonardo da Vinci once said, "Simplicity is the ultimate sophistication." In other words, doing less can often be more effective than doing more. When it comes to Java constructors, the simplicity of not having a return type can reduce confusion and enhance code readability.

So, the next time you're writing Java code, remember that constructors don't return anything. Instead, focus on their main purpose, which is to initialize an object's state. By simplifying your approach to Java constructors, you can streamline your code and save time and effort in the process.

Code Example: Return Type void

Have you ever wondered what happens when you return void in a Java constructor? Many programmers believe that a constructor should always return an object of its class, but that's not entirely true.

In fact, returning void can be useful in some cases. For instance, if you don't need to return an object (such as when you're initializing static variables), then there's no need to waste memory by creating an object that won't be used.

Additionally, returning void can simplify your code and make it more readable. As famous physicist Richard Feynman once said, "The first principle is that you must not fool yourself and you are the easiest person to fool." By returning void, you can make it clear that the constructor doesn't have any return value and prevent yourself from fooling yourself (or others) into thinking otherwise.

Of course, there are times when you do need to return an object from a constructor, and in those cases, returning void wouldn't be appropriate. However, it's worth considering whether you really need to return an object, or if returning void would be a more effective approach.

In conclusion, returning void from a Java constructor can be a valid and useful technique, depending on your specific use case. Don't be afraid to break away from the common notion that constructors always return objects and consider whether returning void would be a better option for your code. As productivity guru Tim Ferriss once said, "Being busy is a form of laziness—lazy thinking and indiscriminate action." By focusing on doing less and only doing what's necessary, you can actually become more productive in the long run.

Code Example: Return Type int

Now let's dive into a specific code example to reveal more about what the Java constructor returns. Here is a simple class with a constructor that returns an int:

public class Addition {
   int result;

   public Addition(int num1, int num2) {
      result = num1 + num2;

You might assume that since the constructor is returning an int, you could call it like this:

Addition add = new Addition(3, 5);
int sum = add();

However, this would result in an error because the constructor does not have a return type. It is simply initializing the result field with the sum of the two arguments.

Instead, you can access the value of the result field directly:

Addition add = new Addition(3, 5);
int sum = add.result;

This will assign the value of the result field, 8, to the variable sum.

So, in this case, the constructor does not return anything in the traditional sense. Its purpose is simply to initialize the values of the fields in the class.

As you can see, understanding what the Java constructor returns can be a bit tricky, and it varies depending on the specific implementation. But by looking at specific code examples, we can begin to demystify this aspect of Java programming.

Code Example: Return Type Object

Have you ever wondered what the return type of a Java constructor is? You may assume it's the same type as the class being constructed, but that's not always the case. In fact, constructors don't have a return type at all!

When declaring a constructor, you'll notice that there's no return type specified. This is different from methods, which need a return type to indicate what type of value they're returning. So what does a constructor return, if anything?

Well, technically speaking, a constructor doesn't return anything. It's responsible for creating a new instance of the class and initializing its variables, but it doesn't return a value like a method would. However, it's possible to use a return statement in a constructor if you want to return an object of a different type.

For example, let's say you have a class called Person and you want to create a constructor that returns an object of type String. You could do something like this:

public class Person {
  private String name;
  public Person(String n) {
    this.name = n;
  public String toString() {
    return this.name;
  public static void main(String[] args) {
    Person p = new Person("Alice");
    String name = p.toString();
  public String returnName() {
    return this.name;

In this example, the Person constructor takes a String argument and assigns it to the name variable. The constructor doesn't return anything, but the toString() method returns the value of the name variable, which is a String.

You'll notice that there's also a returnName() method that explicitly returns the value of the name variable. This method is redundant in this case, since you can access the name variable directly using the toString() method. However, it's an example of how you could use a return statement in a constructor to return an object of a different type.

So while a Java constructor doesn't technically have a return type, you can still use a return statement inside it to return an object of a different type. Just keep in mind that this isn't a common practice and it may be confusing to other developers who are trying to understand your code.


In , while the Java constructor may seem mysterious, its return value is actually quite straightforward – it always returns a new instance of the class it is associated with. Understanding this fundamental aspect of Java programming is essential for creating effective and efficient code.

Similarly, when it comes to productivity, it's important to challenge common notions and consider alternative approaches. As Albert Einstein famously said, "The definition of insanity is doing the same thing over and over again, but expecting different results." Instead of simply trying to do more, it can be more effective to analyze tasks and prioritize them based on their actual importance and impact. In this way, we can remove unnecessary tasks from our to-do list and focus on what truly matters.

As productivity expert David Allen notes, "You can do anything, but not everything." By prioritizing and focusing on the most important tasks, we can achieve more meaningful results with less effort. So, let's challenge the traditional mindset of productivity and strive to work smarter, not harder.

Have an amazing zeal to explore, try and learn everything that comes in way. Plan to do something big one day! TECHNICAL skills Languages - Core Java, spring, spring boot, jsf, javascript, jquery Platforms - Windows XP/7/8 , Netbeams , Xilinx's simulator Other - Basic’s of PCB wizard
Posts created 1713

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top