Use the keyword this to call a constructor – Part 2

This is an example of how to use the keyword this to call a constructor of a class. Within an instance method or a constructor, this keyword is a reference to the current object, that is the object whose method or constructor is being called. You can refer to any member of the current object from within an instance method or a constructor by using this keyword. We have created a class to show the keyword’s use:

  • UseOFThis has two field, an int and a String.
  • It has a constructor to initialize its int field and another one to initialize its String field.
  • It has a constructor where it initializes both fields, using the keyword this to call the instance’s constructor to initialize the int field with a given int value and then to get the object’s String field and set it to a given String.
  • It has a constructor without fields, where it uses the object’s constructor with fields, usign the keyword this again, this time with specified values.
  • It has a print() method that prints the values of the object’s fields.
  • We create a new instance of UseOfThis and call its print() method to print its fields’ values.

Let’s take a look at the code snippet that follows:  

public class UseOfThis {

    int count = 0;
    String s = new String("null");

    UseOfThis(int num) {

  count = num;

  System.out.println("Constructor  int arg only, count= " + count);

    UseOfThis(String ss) {

  System.out.println("Constructor String arg only, s=" + ss);

  s = ss;

    UseOfThis(String s, int num) {


  //! this(s); // Can't call two!

  this.s = s; // Another use of "this"

  System.out.println("String & int args");

    UseOfThis() {

  this("hi", 47);

  System.out.println("default constructor (no args)");

    void print() {

  //! this(11); // Not inside non-constructor!

  System.out.println("count = " + count + " s = " + s);

    public static void main(String[] args) {

  UseOfThis x = new UseOfThis();



Constructor  int arg only, count= 47
String & int args
default constructor (no args)
count = 47 s = hi

This was an example of how to use the keyword this to call a constructor of a class in Java.

Want to know how to develop your skillset to become a Java Rockstar?

Join our newsletter to start rocking!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design


and many more ....


Receive Java & Developer job alerts in your Area

I have read and agree to the terms & conditions


Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Back to top button